В проекте Python я использую install_requires
в своем setup.py
следующим образом.
install_requires=['numpy', 'scipy', 'matplotlib']
Затем я создаю исходный код, двоичный файл и колеса следующим образом.
python setup.py sdist bdist bdist_wheel
Когда я публикую, я использую twine
.
twine upload --repository dist/testpypi mypackage-0.1.1-py2-none-any.whl
Затем в среде conda Python 2.7 я пытаюсь протестировать установку.
pip install -i https://test.pypi.org/simple/ mypackage==0.1.1
Однако я получаю следующее сообщение об ошибке:
ERROR: Could not find a version that satisfies the requirement matplotlib (from mypackage) (from versions: none) ERROR: No matching distribution found for matplotlib (from mypackage)
Когда я делаю pip list
и conda list
, действительно, в списке нет пакета matplotlib
.
Что я делаю не так? Я думал (этот момент, где мое понимание ломается), что install_requires
перечислит предварительные требования, а pip install
подхватит это и автоматически установит требования? Однако кажется, что install_requires
действует как защита от установки пакета, если его объявленные зависимости еще не установлены.
В некоторых поисковых запросах в Интернете мне предлагают включить requirements.txt
через MANIFEST.in
(например, include requirements.txt
), а затем pip install
автоматически установит зависимости. Однако, попробовав этот подход, я все равно получаю то же сообщение об ошибке. Я пробовал с requirements.txt
следующим образом.
matplotlib
А также следующим образом.
matplotlib>=2.2.3
Как настроить/настроить setup.py
и мой дистрибутив так, чтобы pip install
или conda install
автоматически устанавливали объявленные зависимости через install_requires
?