Проверка setuptools install_requires на testpypi - PullRequest
1 голос
/ 07 апреля 2020

Я пытаюсь протестировать пакет python, который я хочу выпустить с помощью теста test.pypi.

В файле setup.py у меня есть install_requires=['numpy>=1.15','scipy>=0.0','scikit-learn>=0.2','numba>=0.0'],

Scipy и Numpy загружаются и устанавливаются, как и ожидалось.

Я получаю следующую ошибку: ERROR: Could not find a version that satisfies the requirement numba>=0.0

Как примечание, если я сделаю pip install numba до того, как мой тестовый пакет будет работать, но я пытаюсь заставить пакет работать правильно.

Я замечаю, когда он выполняет scipy сначала требование показывает Downloading https://test-files.pythonhosted.org/packages/68/72/eb962a3ae2755af6b1f31f7a94dccc21bfc41bb1637c5877a043e711b1d7/scipy-0.1.tar.gz.

Итак, из URL кажется, что он использует тестовые файлы, но это обычный pypi или просто тестовый?

Мой вопрос: как правильно написать install_requires, чтобы я мог убедиться, что тест работает, прежде чем помещать его на реальный сайт pypi?

1 Ответ

1 голос
/ 07 апреля 2020

В вашем синтаксисе нет ничего плохого, просто в отличие от scipy, numpy и scikit-learn, в тестовом экземпляре PyPI не размещено numba. Сравните:

https://pypi.org/project/numba/ <- 200 OK </p>

https://test.pypi.org/project/numba/ <- 404 Не найдено </p>

Мой вопрос: как правильно написать install_requires, чтобы я мог убедиться, что тест работает, прежде чем помещать его на реальный сайт pypi?

Как вы написали install_requires - это нормально. Чтобы протестировать его, загрузив пакет для проверки PyPI и проверив его правильность установки, используйте тестовый PyPI в качестве дополнительного индекса URL, а не в качестве замены --index-url:

pip install yourpackage --extra-index-url=https://test.pypi.org/simple/

Таким способом yourpackage можно найти в тестовом PyPI, но требования к установке, такие как numba, все еще могут быть разрешены для основного PyPI.

...