不寻常的Python导入错误

时间:2017-09-18 17:54:34

标签: python import module importerror

在将此标记为重复之前,请阅读整个问题,这不是通常的sys.path导入错误。

这是我要导入的模块的目录结构

root
|_moduleDir1
| |_ myModule1.py
| |_ __init__.py
|_ moduleDir2
  |_ myModule2.py
  |_ __init__.py

我正在使用2台不同的机器。我的脚本运行正常,我得到另一个导入错误。起初我认为这只是一个环境问题,但我认为还有其他事情正在发生。当我运行使用

导入myModule1.py的脚本时
import moduleDir1.myModule1
在失败的机器上

它会引发以下导入错误。

ImportError: No module named myModule1

我不相信它是PATH问题或sys.path问题的原因是我已将根目录添加到适当的环境变量中并在添加时

import moduleDir2.myModule2 

在脚本中的myModule1导入之上,它不会抛出导入错误,所以我知道root是在sys.path中,否则会为它们抛出错误。另外我不认为这是init.py的一些问题,因为它在其他机器上工作正常。两台机器都在运行Windows 10。

我很难过,我已经搜索并测试了几个小时而没有运气。我所能找到的只是与init.py或sys.path有关的帖子,而这些不是我的问题的正确解决方案。任何建议或想法,为什么我可能会在一个模块而不是另一个模块下,当它们在同一个父目录下时导致导入错误。

1 个答案:

答案 0 :(得分:0)

其中一个原因可能是抛出导入错误的第二台机器没有目录的读取权限。请检查目录的权限。