
这就是我要解决的问题
启动交互式Python提示
python -vvv # -vvv notes to print out import trace information
类型
import xyz
如果此方法有效,则表明该模块是有效的Python安装。如果它不适用于Django,则可能是循环导入和Django初始化代码本身存在问题。Django在读取
settings.py文件,扫描所有Django应用程序等方面做了很多幕后的魔术,因此循环导入通常是Python无法加载模块的情况。同样,在这种情况下,Django吞并了原始
importError异常,并且在初始化Django时出现错误时却没有打印嵌套异常。在这种情况下,手动键入
importxyz应该可以显示真正的错误。
- 如果模块加载失败,则接下来要输入
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上),尤其是使用
sudopip,则不能保证结果能正常工作。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)