自定义Python包上传TestPyPI后无法安装依赖问题求助
问题解决:TestPyPI安装自定义包时依赖无法找到
问题原因
TestPyPI是独立于官方PyPI的测试仓库,里面的包版本不全——很多正式稳定版的包(比如你指定的SQLAlchemy 1.4.22)并没有被上传到TestPyPI,只有部分测试版、开发版或用户手动上传的版本存在,因此pip找不到对应版本的依赖。
解决方案
方案1:放宽依赖版本限制
修改setup.cfg里的install_requires,把固定版本号改成范围限制,或者直接使用TestPyPI上存在的版本:
比如将SQLAlchemy==1.4.22替换为:
SQLAlchemy>=1.4.0b1,<2.0
或者直接选用报错中显示的可用版本,例如SQLAlchemy==1.4.0b1。
方案2:安装时同时指定官方PyPI作为额外源
执行安装命令时,添加--extra-index-url参数,让pip在TestPyPI找不到依赖时,从官方PyPI拉取:
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ rowan-ds-tools-2==0.1
该方法无需修改包配置,适合测试阶段快速验证。
方案3:手动上传依赖包到TestPyPI(不推荐)
如果必须使用特定版本的依赖,可以自行将对应版本的包上传到TestPyPI,但操作繁琐且占用测试仓库资源,仅适合特殊场景。
内容的提问来源于stack exchange,提问作者RubenNeves
相关产品推荐
相关产品推荐

