Python导入错误-没有模块命名错误

时间:2020-05-27 16:41:56

标签: python python-3.x

我正在尝试将一个python文件导入另一个。我有以下目录结构-

/a/program.py
/b/python_package/test.py
/b/python_package/__init__.py

程序。 py-

import sys
sys.path.append('/b/python_package')
import test

也尝试过

from python_package import test

Test.py-

print('imported package')

我没有名为测试错误的模块。

ImportError: No module named test in <script> at line number 5

Traceback (most recent call last):
  File "<script>", line 7, in <module>
ImportError: No module named test
None

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

__init__.py在python 2中将目录签名为python软件包,在python 3中则不需要。

您应该签出this post

a,b是否完全不同? 你可以有这样的东西:

root/
  program.py
  package/
    b.py

然后您可以将b模块导入程序中,例如:

from package import b

答案 1 :(得分:0)

您必须进行绝对导入,并且sys.insert方法有效

import sys
sys.path.insert(0,'/abs_path/b/python_package')
import test

这实际上是一个肮脏的把戏,正确的方法是创建一个包并从其父级的子级导入。请注意,它不是init.py,它是___init___.py