Python自定义sc_eol包测试及安装时出现ModuleNotFoundError问题求解
问题解决方案
核心原因
这个报错本质是Python运行环境无法识别到sc_eol包的位置,主要有三个常见诱因:
sc_eol目录下缺失__init__.py包标识文件,setuptools的find_packages()方法默认仅将包含该文件的目录识别为可导入的Python包,缺失的话无论是开发安装还是直接导入都会找不到包- PYTHONPATH配置错误:你当前配置的路径是
sc_eol包本身的存储路径,Python导入时需要从PYTHONPATH的目录下寻找sc_eol文件夹,因此需要指向sc_eol的父目录 - 执行
pip install -e .时工作目录错误,没有在setup.py所在的项目根目录下执行命令
分步解决方法
补全包标识文件
在路径/home/ubuntu/sc-eol/sc-eol/下新建空文件__init__.py,无需写入任何内容,仅需文件存在即可。修正测试脚本的PYTHONPATH配置
将原测试脚本中的export语句修改为:
export PYTHONPATH="/home/ubuntu/sc-eol"
- 重新安装开发版本包
切换到setup.py所在的项目根目录/home/ubuntu/sc-eol,重新执行开发安装命令:
pip install -e .
安装完成后可执行pip list | grep sc_eol确认包已被正确识别。
- 验证导入效果
执行以下命令验证导入是否正常:
python -c "from sc_eol.server import server; print('导入成功')"
无报错即代表问题已解决。
内容的提问来源于stack exchange,提问作者Shivangi Singh
相关产品推荐
相关产品推荐

