繁体   English   中英

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

[英]Python import error- No Module named error

我正在尝试将一个 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

测试.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

我究竟做错了什么?

__init__.py在 python 2 中将目录签名为 python package,在 Z23EEEB4347BDD752BFC6B7EE9 中不需要它。

你应该看看这篇文章

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

root/
  program.py
  package/
    b.py

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

from package import b

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM