Pip install from pypi works, but from testpypi fails (cannot find requirements)
Pip-установка из pypi работает, но из testpypi завершается с ошибкой (не удается найти требования)
Я пытаюсь создать свой первый пакет python. Чтобы не испортить всю сделку, я пытался загрузить его на серверы testpypi. Кажется, все идет нормально (sdist создает и загружает, не показывает никаких ошибок). Однако, когда я пытаюсь установить его на новый virtualenv из https://testpypi.python.org/pypi, он жалуется на мои требования к установке, например:
pip install -i https://testpypi.python.org/pypi poirot Collecting poirot Downloading https://testpypi.python.org/packages/source/p/poirot/poirot-0.0.15.tar.gz Collecting tqdm==3.4.0 (from poirot) Could not find a version that satisfies the requirement tqdm==3.4.0 (from poirot) (from versions: ) No matching distribution found for tqdm==3.4.0 (from poirot)
мои единственные требования - tqdm и Jinja2. Я пробовал указывать версии, но не указывал —ошибка в каждом случае.
Похоже, что он пытается найти tqdm и Jinja2 на сервере testpypi и не находит их (потому что они доступны только в обычном pypi). Загрузка пакета на нетестовый сервер и запуск pip install сработали.
Что мне нужно добавить в файл setup.py (ниже), чтобы он находил требования при загрузке в testpypi?
Спасибо!
try: from setuptools import setup except ImportError: from distutils.core import setup
setup(name='poirot', version='0.0.15', description="Search a git repository's revision history for text patterns.", url='https://github.com/dcgov/poirot', license='https://raw.githubusercontent.com/DCgov/poirot/master/LICENSE.md', packages=['poirot'], install_requires=['tqdm==3.4.0', 'Jinja2==2.8'], test_suite='nose.collector', tests_require=['nose-progressive'], classifiers=[ 'Environment :: Console', 'Intended Audience :: Developers', 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5' ], include_package_data=True, scripts=['bin/big-grey-cells', 'bin/little-grey-cells'], zip_safe=False)
Переведено автоматически
Ответ 1
Обновить
PyPI обновил свой сайт. Согласно документации, новый совет таков:
--extra-index-url указывает на зависимости от PyPI.
poirot это ваш пакет.
Внимание: несмотря на эту рекомендацию из официальных документов, использование --extra-index-url может быть небезопасным в определенных ситуациях, особенно на частных серверах. Смотрите также видео А. Соттиля, демонстрирующее риски, связанные с упорядочиванием опций и смешиванием общедоступных и частных серверов PyPI. Используйте с осторожностью и оценивайте свои риски.