从GitLab私有Registry pip安装的Python包导入时报ModuleNotFoundError求助
问题解决方案
- 包名与导入名称不匹配:
pip install使用的名称是发布包时指定的分发包名,与Python脚本中导入的模块名无强制对应关系。执行pip show <分发包名>查看Location字段对应的文件路径,进入该路径确认实际存在的模块文件夹/文件名称,即为正确的导入名称。 - 执行环境不一致:确认安装包时使用的
pip对应的Python解释器,与运行脚本的Python解释器为同一环境。分别执行pip -V和python -V查看两者关联的Python版本及路径是否匹配,避免出现全局环境安装、虚拟环境运行的不匹配问题。 - 打包配置缺失:发布到GitLab Registry的包未正确包含目标模块。检查打包配置文件
setup.py/pyproject.toml中的packages配置项,确认已正确指定需要打包的模块,或find_packages()规则未过滤目标模块;也可直接将.whl安装包修改后缀为.zip解压,确认包内是否包含需要导入的模块文件。 - 大小写适配问题:类Unix系统文件系统大小写敏感,若导入时的模块名大小写与实际文件/文件夹名大小写不一致,会触发导入错误,需完全匹配名称大小写。
内容的提问来源于stack exchange,提问作者Léo Le Henaff
相关产品推荐
相关产品推荐

