Локальные пакеты или рабочие ссылки для загрузки не были найдены в SIP-контейнерах Appveyor при тестировании Python 3.5. - PullRequest
0 голосов
/ 25 апреля 2019

Для непрерывных интеграций мы тестируем наши скрипты для ОС Windows с appveyor, как обычно, после каждого нажатия в 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

Это странно, потому что:

1 Ответ

0 голосов
/ 30 апреля 2019

Похоже, что проблемы возникают из-за разницы в обработке между командой pip install ... и методом setup (install_requires=...), используемым с командой python setup.py install.

Поскольку я отредактировал файл appveyor.yml для установки всех необходимых пакетов с помощью pip непосредственно перед командой установки python setup.py install, он работает нормально.

Это быстро и грязно (я уверен, что можно сделать более элегантно и квалифицированно, настроив лучше), но это работает!

Файл setup.py .

Файл info.py .

Прежний файл appveyor.yml .

Новый appveyor.yml файл.

EDIT: Может быть быстрее и чище. Исходя из разницы, наблюдаемой между 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 файл.

...