在测试 python 3.5 时,在 Appveyor Windows 容器中找不到 SIP 的本地包或工作下载链接
No local packages or working download links found for SIP, in the Appveyor Windows Containers, when testing python 3.5
对于持续集成,我们像往常一样在每次推送 GitHub 后使用 appveyor 测试我们的脚本 Windows OS。针对 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.6,return 是:
Searching for SIP
Reading https://pypi.org/simple/SIP/
Downloading https://files.pythonhosted.org/packages/7a/49/67cc7955baf2ec5b67e141da2ab2a436cbf0f8d7c9fcab54e35df21d056b/sip-4.19.8-cp36-none-win32.whl#sha256=74da4ddd20c5b35c19cda753ce1e8e1f71616931391caeac2de7a1715945c679
Best match: sip 4.19.8
Processing sip-4.19.8-cp36-none-win32.whl
Installing sip-4.19.8-cp36-none-win32.whl to c:\python36\lib\site-packages
Adding sip 4.19.8 to easy-install.pth file
对于 python 3.7,return 是:
Searching for SIP
Reading https://pypi.org/simple/SIP/
Downloading https://files.pythonhosted.org/packages/89/34/056db01926839dd05f80a08a579ee2f4f6625913b0620580ee580fa05fbf/sip-4.19.8-cp37-none-win32.whl#sha256=1bb10aac55bd5ab0e2ee74b3047aa2016cfa7932077c73f602a6f6541af8cd51
Best match: sip 4.19.8
Processing sip-4.19.8-cp37-none-win32.whl
Installing sip-4.19.8-cp37-none-win32.whl to c:\python37\lib\site-packages
Adding sip 4.19.8 to easy-install.pth file
所以对于 python 3.5,我们可以认为好的目标是 sip-4.19.8-cp35-none-win32.whl,并通过检查 https://pypi.python.org/simple/SIP/好像是存在的!
问题似乎来自 pip install ...
命令与 python setup.py install
命令使用的 setup (install_requires=...)
方法在处理上的差异。
因为我在 python setup.py install
安装命令之前编辑了 appveyor.yml 文件以使用 pip 安装所有必需的包,所以它工作正常。
它又快又脏(我相信通过更好的配置可以做得更优雅和熟练),但它确实有效!
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
所以我刚刚更新了设置工具:
pip install --upgrade -vv setuptools
现在一切正常,无需在 install_requires.
中添加两倍的请求存储库
前一个appveyor.yml文件。
新的appveyor.yml文件。
对于持续集成,我们像往常一样在每次推送 GitHub 后使用 appveyor 测试我们的脚本 Windows OS。针对 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.6,return 是:
Searching for SIP Reading https://pypi.org/simple/SIP/ Downloading https://files.pythonhosted.org/packages/7a/49/67cc7955baf2ec5b67e141da2ab2a436cbf0f8d7c9fcab54e35df21d056b/sip-4.19.8-cp36-none-win32.whl#sha256=74da4ddd20c5b35c19cda753ce1e8e1f71616931391caeac2de7a1715945c679 Best match: sip 4.19.8 Processing sip-4.19.8-cp36-none-win32.whl Installing sip-4.19.8-cp36-none-win32.whl to c:\python36\lib\site-packages Adding sip 4.19.8 to easy-install.pth file
对于 python 3.7,return 是:
Searching for SIP Reading https://pypi.org/simple/SIP/ Downloading https://files.pythonhosted.org/packages/89/34/056db01926839dd05f80a08a579ee2f4f6625913b0620580ee580fa05fbf/sip-4.19.8-cp37-none-win32.whl#sha256=1bb10aac55bd5ab0e2ee74b3047aa2016cfa7932077c73f602a6f6541af8cd51 Best match: sip 4.19.8 Processing sip-4.19.8-cp37-none-win32.whl Installing sip-4.19.8-cp37-none-win32.whl to c:\python37\lib\site-packages Adding sip 4.19.8 to easy-install.pth file
所以对于 python 3.5,我们可以认为好的目标是 sip-4.19.8-cp35-none-win32.whl,并通过检查 https://pypi.python.org/simple/SIP/好像是存在的!
问题似乎来自 pip install ...
命令与 python setup.py install
命令使用的 setup (install_requires=...)
方法在处理上的差异。
因为我在 python setup.py install
安装命令之前编辑了 appveyor.yml 文件以使用 pip 安装所有必需的包,所以它工作正常。
它又快又脏(我相信通过更好的配置可以做得更优雅和熟练),但它确实有效!
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
所以我刚刚更新了设置工具:
pip install --upgrade -vv setuptools
现在一切正常,无需在 install_requires.
中添加两倍的请求存储库前一个appveyor.yml文件。
新的appveyor.yml文件。