内容纲要
诡异的 ModuleNotFoundError
我的 python 工程目录结构如下
tree /data/python/
/data/python/
└── px500
├── config
│ ├── __init__.py
│ └── config.py
├── jd
│ ├── __init__.py
│ └── jd_api.py
├── lib
│ ├── __init__.py
│ └── log.py
└── webapp.py
有 3 个自定义包分别是 config
,jd
,lib
,在 lib
包里的 py 文件可以 import config
包里的模块,但是在 jd
包里的 py 文件却不能 import lib
包里的模块
错误提示如下
python3 /data/python/px500/jd/jd_api.py
Traceback (most recent call last):
File "/data/python/px500/jd/jd_api.py", line 8, in <module>
from lib.log import root_log
ModuleNotFoundError: No module named 'lib'
解决办法
将工程目录添加到系统路径里,这样 python 就能找到包了
注意:需要在 jd_api.py
的 from lib.log import root_log
代码前执行
# -*- coding: utf-8 -*-
import sys
sys.path.append('/data/python/px500')
from lib.log import root_log
import time
......
搞定,收工
python 找不到自定义包