如何从GitHub仓库子目录安装使用setup.cfg配置的Python包
错误原因
你遇到的报错由两个常见问题导致:
- 路径指向错误:你的打包配置文件
pyproject.toml、setup.cfg都存放在仓库的packaging_tutorial子目录下,直接拉取仓库根目录安装时,pip无法在根路径找到打包配置,才会 fallback 去查找不存在的setup.py文件。 - 旧版pip兼容性问题:21.0以下版本的pip对基于
setup.cfg的PEP 517/518打包规范支持不完善,也会触发该报错。
解决方案
第一步:先升级pip相关依赖
执行以下命令升级到最新版本,避免兼容性问题:
pip install --upgrade pip setuptools wheel
第二步:指定子目录路径安装
安装时添加subdirectory参数指定打包配置所在的子目录即可,两种协议的安装命令如下:
- HTTPS协议:
pip install git+https://github.com/adamatan/github-packages-python.git#subdirectory=packaging_tutorial&egg=example_package
- SSH协议:
pip install git+ssh://git@github.com/adamatan/github-packages-python.git#subdirectory=packaging_tutorial&egg=example_package
可选:可编辑模式安装
如果需要修改代码后实时生效,可以先克隆仓库到本地,再执行以下命令安装:
git clone https://github.com/adamatan/github-packages-python.git cd github-packages-python/packaging_tutorial pip install -e .
兜底方案
如果依然报错,可以强制指定使用PEP 517标准构建:
pip install --use-pep517 git+https://github.com/adamatan/github-packages-python.git#subdirectory=packaging_tutorial&egg=example_package
内容的提问来源于stack exchange,提问作者Adam Matan
相关产品推荐
相关产品推荐

