python 导入自定义文件报错

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 Test2

test = 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

回到顶部