问题标签 [importerror]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 错误“ImportError:未命名模块”
Python 安装在本地目录中。
我的目录树如下所示:
我的代码在这里:
为了运行这个例子,我写了python mountain.py
,在我的代码中:
我得到了错误:
我已经检查过了sys.path
,那里有目录/site-packages
。此外,我__init__.py.bin
在工具包文件夹中有文件,以向 Python 表明这是一个包。__init__.py.bin
我在示例目录中也有一个。
我不知道为什么 Python 在sys.path
. 有任何想法吗?会不会是权限问题?我需要一些执行权限吗?
python - 在 Python 中测试 ImportErrors
我们遇到了一个真正的问题,就是人们签入的代码因为某些东西被重构而无法工作。诚然,这部分是因为我们的开发人员并没有任何好的工具来轻松发现这些错误。
是否有任何工具可以帮助在 Python 中查找 ImportErrors?当然,这里的正确答案是“你应该为此使用单元测试”。但是,我处于遗留代码领域(至少按照 Michael Feathers 的定义),所以我们的单元测试是我们正在大力开展的工作。
同时,如果有某种工具可以遍历每个目录并导入其中的每个文件以查找任何具有 ImportErrors 的脚本(例如,如果文件或类最近被重命名),那将是很好的。我想这不会很难写我自己,但是有没有已经写好的程序来做到这一点?
python - 无法从 python 脚本导入 libxml2mod
在 Python Prompt 上它工作正常!
谁能知道为什么我的程序无法从 .py 文件中运行,因为导入在 python 提示符下运行完美。
python - 如何区分 ImportError 上的“模块未找到”和“模块抛出异常”?
在 Python 中,import does_not_exist
raisesImportError
和
exists.py
:
也会提高ImportError
。
我应该如何区分代码?
python - 在 Windows 98 中通过网络访问 py2exe 程序会引发 ImportErrors
我正在许多客户端机器上的一台服务器机器上运行一个 py2exe 编译的 python 程序(映射到每台机器上的网络驱动器,比如 W:)。
对于 Windows XP 和更高版本的机器,到目前为止,Python 获取 W:\python23.dll 的问题为零(是的,我使用 Python 2.3.5 来兼容 W98 等等)。然后它将使用 W:\zlib.pyd 解压缩包含所有 .pyc 文件(如 os 等)的 W:\library.zip,然后将其导入并且程序运行没有问题。
我遇到的问题是在一些 Windows 98 SE 机器上(注意:一些 Windows 98 SE 机器,其他机器似乎没有明显问题)。发生的情况是,程序从 W: 运行,我假设找到了 W:\python23.dll(因为我得到 Python ImportErrors,我们需要能够执行 Python import 语句),但是有几件事不起作用:
1)如果 W:\library.zip 包含 .pyc 文件的唯一副本,我会得到
ZipImportError: can't decompress data; zlib not available
(废话,考虑到 W:\zlib.pyd 是可用的,并且可以在同一网络上的 XP 和更高版本的机器上正常工作)。
2) 如果 .pyc 文件实际上是通过 py2exe 捆绑在 python exe 中,或者放在与 .exe 相同的目录中,或者放在一个命名的子目录中,然后将其设置为 PYTHONPATH 变量的一部分(例如 W:\pylib ),我得到ImportError: no module named os
(os 是第一个导入的模块,在 sys 和其他任何东西之前)。
想一想,如果 os 在它之前被导入, sys.path 将无法搜索?我将尝试切换这些导入的顺序,但我的问题仍然存在:为什么这是一个零星的问题,在某些网络上工作而不在其他网络上工作?我将如何强制 Python 找到捆绑在我运行的可执行文件中的文件?我可以立即访问正在工作的 Windows 98 SE 机器,但我只能在每天早上在他们的商店开业之前访问不工作的机器(我的一位客户)。
提前致谢!
编辑:好的,向前迈出了一大步。使用 PY2EXE_VERBOSE 调试后,特定 W98SE 机器上出现的问题是它在查找导入时没有使用正确的路径语法。首先,它似乎没有读取 PYTHONPATH 环境变量(可能有一个我不知道的特定于 py2exe 的变量,比如 PY2EXE_VERBOSE)。
其次,它在放弃之前只在一个地方查找(如果文件捆绑在 EXE 中,它会在那里查找。如果没有,它会在 library.zip 中查找)。
编辑 2:事实上,据此,Python解释器中的 sys.path 与 Py2exe 可执行文件之间存在差异。具体来说,sys.path contains only a single entry: the full pathname of the shared code archive.
布拉。没有退路?甚至没有当前的工作目录?我会尝试添加W:\
到 PATH,但 py2exe 不符合任何类型的系统库定位标准,所以它不起作用。
现在是有趣的一点。它尝试加载 atexit、os 等的路径是:
W:\\library.zip\<module>.<ext>
请注意 library.zip 后的单斜杠,但驱动器号后的双斜杠(如果这是有意的并且应该有效,请纠正我)。看起来如果这是一个字符串文字,那么由于斜杠没有加倍,它被读取为(无效)转义序列并打印原始字符(给出W:\library.zipos.pyd, W:\library.zipos.dll, ...
而不是斜杠);如果它不是字符串文字,则双斜杠可能不会自动进行规范路径(应该如此),因此双斜杠会混淆模块加载器。就像我说的,我不能仅仅set PYTHONPATH=W:\\library.zip\\
因为它忽略了那个变量。
在我的程序开始时使用 sys.path.append 可能是值得的,但是硬编码模块路径绝对是最后的手段,特别是因为问题发生在过时操作系统的 ONE 配置中。
有任何想法吗?我有一个,这是sys.path
我需要os
的。另一个是再次附加os.getenv('PATH')
或添加os.getenv('PYTHONPATH')
到 sys.path...,需要os
模块。该site
模块也无法初始化,所以我不能使用 .pth 文件。
我最近还在程序开始时尝试了以下代码:
但它无法加载 linecache.pyc 或其他任何内容;它实际上无法从事物的外观上执行这些命令。有什么方法可以使用不需要 linecache 来动态修改 sys.path 的内置功能?还是我只能硬编码正确的 sys.path?
python - ImportError:无法导入名称 NumpyTest
我正在尝试使用 scipy 读取 *.wav 文件。我通过以下方式进行操作:
结果,我收到以下错误消息:
有谁知道为什么 scipy 不能导入 NumpyTest 以及如何修复它?
python - PyQt 4.7 - 在 Windows 上安装后的 ImportError
我一直在尝试在 Vista 上安装PyQt 4.7,但是当我尝试执行以下操作时遇到 ImportError from PyQt4 import QtCore, QtGui
:.
ImportError:DLL 加载失败:找不到指定的模块。
我检查了我的系统路径,并且C:\Python31\Lib\site-packages\PyQt4\bin在那里。
我无法运行任何示例,但 Designer、Assistant 和 Linguist 运行良好。
我正在使用 ActivePython 3.1,如果这有什么不同的话。而且我还没有安装任何以前版本的 PyQt。
编辑:
我已将 QtCore4 和 GtGui4 dll 复制到C:\Python31\Lib\site-packages\PyQt4。这修复了一些示例,但我仍然无法使用示例浏览器。
django - 使用 Django 开发服务器工作,但使用 mod_wsgi 引发 Apache 导入错误
我有一个 Django 项目,它可以与它附带的开发服务器一起正常工作。
当我使用“django manage.py runserver”并且应用程序工作正常时,根本没有产生任何错误,但是当我尝试将它与 mod_wsgi 和 Apache 一起使用时,浏览器显示“内部服务器错误”和 500 错误代码,它会生成一个Apache 错误日志中的导入错误。
这是日志中的错误:
ImportError:没有名为注册的模块
我正在使用位于如下路径中的 Django 注册模块:
我知道注册应用程序在路径中,因为我可以启动 Python shell、导入 sys 并使用 sys.path 获取路径列表。
以下是 Python shell 输出的一些路径:
sys.path ['', '/opt/raj/pyamf', '/opt/raj', '/opt/raj/pictures', '/opt/raj/pictures /registration', '/usr/lib/python2 .6',....]
任何想法将不胜感激。
python - Python setuptools 导入错误(使用 NetBeans)
我试图找到一个可以回答这个问题但没有成功的问题,所以我提出了一个新问题。
我正在尝试在 NetBeans 中编译我的旧 Python Tic Tac Toe 游戏,但收到错误消息
在我的实际代码中,我没有导入名为 setuptools 的模块。据我了解,编译器会生成一个 setup.py 文件并尝试在其中使用该 setuptools 模块。我该如何解决这个问题?
我很确定问题不在代码中,因为相同的代码在我实际制作它的时候工作得很好,并且在那之后我没有改变它。