For continuous integrations, we test our scripts for Windows OS with appveyor, as usual after each push in GitHub. The tests are launched for python 3.5, 3.6 and 3.7. For 3.6 and 3.7 all is working fine. For 3.5, the test falls due to no SIP package found:
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
It is strange because:
For python 3.6 the return is:
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
For python 3.7 the return is:
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
So for python 3.5 we can think that the good target is sip-4.19.8-cp35-none-win32.whl, and by inspecting https://pypi.python.org/simple/SIP/ it seems that it is existing!
It seems that the issues comes from a difference in processing between the pip install ...
command and the setup (install_requires=...)
method used with the python setup.py install
command.
Since I edited the appveyor.yml file to install all the necessaries packages with pip just before the python setup.py install
installation command, it is working fine.
It's quick and dirty (I am sure that it is possible to do more elegant and skilled by configuring better), but it works!
The setup.py file.
The info.py file.
The former appveyor.yml file.
The new appveyor.yml file.
EDIT: May be quicker and cleaner. Starting from the difference observed beetween pip and setuptools I observed that the build started with a very old setuptools version:
pip list
Package Version
---------- -------
pip 19.1
setuptools 28.8.0
virtualenv 15.0.1
So I just made an update of setuptools:
pip install --upgrade -vv setuptools
and now all is working fine, without adding twice the requested repositories in install_requires.
The former appveyor.yml file.
The new appveyor.yml file.