自定义Pygame包上传TestPyPI后安装时Pillow~=9.2依赖缺失求助
问题原因及解决办法
原因
TestPyPI是独立的测试仓库,里面的包版本远不如正式PyPI完整,你的包依赖的Pillow~=9.2版本并没有上传到TestPyPI,仅存在一个开发版8.0.0.dev0,所以指定从TestPyPI安装时,pip找不到符合要求的Pillow版本。本地安装正常是因为本地pip默认从正式PyPI拉取依赖,那里有全版本的Pillow。
解决办法
补充正式PyPI作为依赖源:安装时同时指定正式PyPI作为补充源,让pip从TestPyPI拉取你的包,从正式PyPI拉取缺失的依赖。执行命令:
pip install -i https://test.pypi.org/simple/ kct-pygame-tools==5.2.2 --extra-index-url https://pypi.org/simple/--extra-index-url是补充源,优先级低于你指定的TestPyPI,只会拉取TestPyPI没有的依赖。临时调整依赖版本:如果需要纯TestPyPI环境测试,可以暂时把
setup.py或pyproject.toml里的Pillow依赖改成TestPyPI存在的版本,比如Pillow>=8.0.0.dev0,重新构建上传后再测试,测试完成后改回原版本。手动上传依赖到TestPyPI:如果必须在纯TestPyPI环境使用9.2.x版本的Pillow,可以自己下载对应版本的Pillow源码包,用twine上传到你的TestPyPI账户下,但这个操作比较繁琐,仅适合特殊测试场景。
内容的提问来源于stack exchange,提问作者KidCoder
相关产品推荐
相关产品推荐

