首页 > 解决方案 > 测试 python 3.5 时,在 Appveyor Windows 容器中找不到 SIP 的本地包或工作下载链接

问题描述

对于持续集成,我们使用 appveyor 测试我们的 Windows 操作系统脚本,就像每次推送到 GitHub 之后一样。测试针对 python 3.5、3.6 和 3.7 启动。对于 3.6 和 3.7,一切正常。对于 3.5,测试因未找到 SIP 包而失败:

searching for SIP
Reading https://pypi.python.org/simple/SIP/
No local packages or working download links found for SIP
error: Could not find suitable distribution for Requirement.parse('SIP')
Command exited with code 1

这很奇怪,因为:

标签: python-3.xcontinuous-integrationappveyorpython-sip

解决方案


问题似乎来自pip install ...命令和命令setup (install_requires=...)使用的方法之间的处理差异python setup.py install

由于我在安装命令之前编辑了 appveyor.yml 文件以使用 pip 安装所有必需的软件包python setup.py install,因此它工作正常。

它又快又脏(我相信通过更好的配置可以做得更优雅和熟练),但它确实有效!

setup.py文件。

info.py文件

以前的appveyor.yml文件。

新的appveyor.yml文件。

编辑: 可能更快更干净。从 pip 和 setuptools 之间观察到的差异开始,我观察到构建是从一个非常旧的 setuptools 版本开始的:

pip list
Package    Version
---------- -------
pip        19.1   
setuptools 28.8.0 
virtualenv 15.0.1 

所以我刚刚更新了setuptools:

pip install --upgrade -vv setuptools

现在一切正常,无需在 install_requires 中添加两次请求的存储库。

以前的appveyor.yml文件。

新的appveyor.yml文件。


推荐阅读