从GitHub安装自行开发的Python包后无法导入模块该如何排查?
问题原因
你当前的配置是针对目录型Python包(即包含__init__.py的文件夹形式的包)设计的,但你要分发的是单文件独立模块,两者的配置规则存在差异,这是导致模块文件无法正常安装的核心原因。
修复步骤
- 先确认你的项目目录结构符合如下预期:
项目根目录 ├── pyproject.toml ├── setup.cfg └── src └── singleton.py
- 修改
setup.cfg配置,删除原有packages相关的所有配置,替换为单文件模块专属配置:
[metadata] name = singleton version = 1.0.0 url = https://github.com/syntapy/singleton [options] package_dir = =src py_modules = singleton
配置说明:py_modules是setuptools专门用来指定要分发的独立单文件模块的配置项,配置后setuptools会自动到你指定的src目录下查找singleton.py文件,安装时会直接将该文件复制到site-packages目录,后续就可以正常执行import singleton导入操作。
验证方法
修改配置后可通过以下步骤本地验证效果:
- 卸载之前安装的错误版本:
pip uninstall -y singleton - 在项目根目录执行本地安装:
pip install . - 运行验证命令:
python -c "import singleton; print('模块导入成功')"
内容的提问来源于stack exchange,提问作者wamster
相关产品推荐
相关产品推荐

