栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在“没有名为xyz的模块”错误的情况下获得更多诊断输出?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在“没有名为xyz的模块”错误的情况下获得更多诊断输出?

这就是我要解决的问题

  1. 启动交互式Python提示

     python -vvv   # -vvv notes to print out import trace information
  2. 类型

     import xyz

如果此方法有效,则表明该模块是有效的Python安装。如果它不适用于Django,则可能是循环导入和Django初始化代码本身存在问题。Django在读取

settings.py
文件,扫描所有Django应用程序等方面做了很多幕后的魔术,因此循环导入通常是Python无法加载模块的情况。同样,在这种情况下,Django吞并了原始
importError
异常,并且在初始化Django时出现错误时却没有打印嵌套异常。在这种情况下,手动键入
importxyz
应该可以显示真正的错误。

  1. 如果模块加载失败,则接下来要输入
    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
,则不能保证结果能正常工作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号