python 导入自定义文件报错
以下是测试示例目录结构:
.├── __init__.py
├── run.py
├── test1
│ ├── __init__.py
│ ├── test11
│ │ ├── __init__.py
│ │ └── test11.py
│ └── test1.py
└── test2
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-35.pyc
│ └── test2.cpython-35.pyc
└── test2.py
test11.py代码如下:
from test2.test2 import Test2test = Test2()
test.test_print()
pycharm中右键run运行正常,命令行中执行python test11.py报错:
Traceback (most recent call last): File "test1/test11/test11.py", line 2, in <module>
import test2.test2
ImportError: No module named 'test2'
起初以为是缺少__init__.py文件的问题,然后逐一把每个目录都增加__init__.py,还是报错。__init__.py文件内容为空
求大神指点~
回答:
1、__init__.py
只是将该文件夹作为Python的一个module
来处理。
2、import sys; sys.path
才是当前Python解释器来扫描module
的位置。也就是去哪里找这些module
。
解决方案:
import sys# 添加绝对路径。
# 当然,你这样 os.path.abspath(os.path.curdir) 也可以
sys.path.extend(['/Users/lpe234/PycharmProjects/test2'])
以上是 python 导入自定义文件报错 的全部内容, 来源链接: utcz.com/a/159247.html