Python 错误 "ImportError: No module named"

标签 python importerror python-import

Python 安装在本地目录中。

我的目录树如下所示:

(local directory)/site-packages/toolkit/interface.py

我的代码在这里:

(local directory)/site-packages/toolkit/examples/mountain.py

为了运行示例,我编写了 python mountain.py,在我拥有的代码中:

from toolkit.interface import interface

我得到了错误:

Traceback (most recent call last):
  File "mountain.py", line 28, in ?
    from toolkit.interface import interface
ImportError: No module named toolkit.interface

我已经检查了 sys.path 并且那里有目录 /site-packages。此外,我在工具包文件夹中有文件 __init__.py.bin 向 Python 表明这是一个包。我在示例目录中也有一个 __init__.py.bin

不知道为什么 Python 在 sys.path 中找不到文件。有任何想法吗?会不会是权限问题?我需要一些执行权限吗?

最佳答案

根据您对 orip 帖子的评论,我猜是这样的:

  1. 您在 Windows 上编辑了 __init__.py
  2. Windows 编辑器添加了一些非打印内容,可能是回车符(Windows 中的行尾为 CR/LF;在 unix 中仅为 LF),或者可能是 CTRL-Z(Windows 中的行尾文件)。
  3. 您使用 WinSCP 将文件复制到您的 unix 机器。
  4. WinSCP 想:“这有一些不是基本文本的东西;我会放一个 .bin 扩展名来表示二进制数据。”
  5. 缺少的 __init__.py(现在称为 __init__.py.bin)意味着 python 不将工具包理解为一个包。
  6. 您在适当的目录中创建 __init__.py 并且一切正常...?

关于Python 错误 "ImportError: No module named",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338768/

相关文章:

python - 如何获取 Python 模块中所有非导入名称的列表?

python - pytest:测试子包的导入

python - 如何从 Django 迁移中调用基于实例的函数并访问实例变量

java - 有没有办法检查文档中是否存在标签名称? (DOM - Jython)

python - pybind11 STL 自动转换器破坏 std::list 指针

Python:来自已编译源代码的 ImportError

visual-studio - VS 2015 导入导出设置,消失窗口

python - 无法导入名称(模型)

python - 如何通过 Flask 在 HTML 页面中重新加载 Python 变量?

python - 如何使用多个输入变量 LSTM 生成 1 个输出