我在本地目录中有一个django项目,当我从本地django服务器运行该项目时,它可以正常运行,如下所示:
python manage.py runserver.py 8000
但是,如果我克隆了该项目所在的本地git存储库(并且是最新的),如下所示:
git clone my_django_project my_django_project_clone
我在克隆目录中尝试了与上面相同的命令,服务器 立即 失败:
Error: No module named xyz
即使使用标志运行服务器,服务器也 不会 产生 任何其他输出-v 3
。
是否有任何方法可以获取有关此django站点正常(据说)相同克隆为何失败的更多诊断信息?
这就是我要解决的问题
启动交互式Python提示
python -vvv # -vvv notes to print out import trace information
类型
import xyz
如果此方法有效,则表明该模块是有效的Python安装。如果它不适用于Django,则可能是循环导入和Django初始化代码本身存在问题。Django在读取settings.py
文件,扫描所有Django应用程序等方面做了很多幕后的魔术,因此循环导入通常是Python无法加载模块的情况。同样,在这种情况下,Django吞并了原始ImportError
异常,并且在初始化Django时出现错误时却没有打印嵌套异常。在这种情况下,手动键入import xyz
应该可以显示真正的错误。
import sys
for p in sys.path: print(p) # print p for Python 2.x
这将显示Python引入模块的所有目录。您的模块可能不在这些目录中,因此您需要确保
A)您将自己的模块附加到Python sys.path列表中,或正确使用PYTHONPATH环境变量来加载您自己的包。设置路径可能取决于Django版本,Python版本以及Django运行方式。例如,manage.py
可能包含或可能不包含运行命令的当前工作目录。如果模块在当前文件夹中,则可以尝试以下操作:
PYTHONPATH=. python manage.py runserver
B)您正确安装了第三方软件包。安装第三方Python软件包的正确方法是在开发项目中使用pip
带有virtualenv
独立Python环境的工具。如果将Python软件包安装到系统范围的Python安装(/usr/lib/python
在UNIX上),尤其是使用sudo pip
,则不能保证结果能正常工作。
我知道我可以获得包名并从完整的类名中去掉相应数量的字符,但我猜已经有人这么做了?
问题内容: 我是Python的新手,正在尝试安装此模块:http : //www.catonmat.net/blog/python-library-for-google- search/ 目录中没有setup.py,但是有以下文件: 有人可以告诉我如何设置或使用此模块吗? 谢谢! 问题答案: 在系统上开始使用该代码的最简单方法是: 将文件放入计算机上的目录中, 将该目录的路径添加到您的PYTHON
我不能使用任何库因为我总是得到这个错误 我装了好几次模块还是不行 (最近一次的最后一次调用最后一次):文件”/(最近最近一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的最后一次的调用):这次的
我正在构建一个Django应用程序,并且正在迁移到Heroku和Heroku Postgres。当我运行“pythonmanage.pyrunserver”甚至“heroku runpythonmanage.pyrunserver”终端返回错误“错误:没有名为文件名的模块”-文件名是位于我的主项目文件夹中的应用程序文件夹,其中包含我的models.py和views.py文件等。请参阅下面的文件结构
我有两个Kafka集群,第一个--使用“SASL SCRAM-SHA-256”机制进行身份验证,另一个--没有为其设置配置。 为了能够连接到Clickhouse中的< code>Kafka-A,我配置了一个< code>config.xml文件,如下所示: 在这一点上,我发现我无法使用Kafka引擎表连接到Kafka-B。当我尝试发生打印以下消息的错误时: storage Kafka(XXX):[
问题内容: 在C#中,我们有和有或没有命名空间(包在Java世界中)得到一个类型(类在这种情况下)的名称。 java等于什么? 显然,有比手动使用和删除软件包名称更好的方法。 问题答案: 返回源代码中给定的基础类的简单名称。如果基础类是匿名的,则返回一个空字符串。 数组的简单名称是组件类型的简单名称,后接“ []”。特别是其组件类型为匿名的数组的简单名称为“ []”。 它实际上是从名称中删除软件包