La instalación de Pip desde pypi funciona, pero desde testpypi falla (no se pueden encontrar los requisitos)

Resuelto Wei asked hace 8 años • 0 respuestas

Estoy intentando crear mi primer paquete de Python. Para no estropear todo el asunto, he intentado subirlo a los servidores de testpypi. Eso parece ir bien (sdist crea y la carga no muestra ningún error). Sin embargo, cuando intento instalarlo en un nuevo entorno virtual desde https://testpypi.python.org/pypi , se queja de mis requisitos de instalación, por ejemplo:

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 y Jinja2 son mis únicos requisitos. Intenté especificar las versiones, no especificar: error en cada sentido.

Parece que está intentando encontrar tqdm y Jinja2 en el servidor testpypi y no los encuentra (porque solo están disponibles en pypi normal). Cargar el paquete en el servidor que no es de prueba y ejecutar pip install funcionó.

¿Qué necesito agregar al archivo setup.py (a continuación) para que encuentre los requisitos cuando lo cargue en testpypi?

¡Gracias!

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)
Wei avatar Dec 29 '15 23:12 Wei
Aceptado

Actualizar

PyPI ha actualizado su sitio. Según los documentos , el nuevo consejo es:

python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple poirot

  • --index-urlapunta a su paquete en TestPyPI.
  • --extra-index-urlapunta a dependencias de PyPI.
  • poirotes tu paquete.

Precaución : a pesar de esta recomendación de los documentos oficiales, el uso --extra-index-urlpuede resultar inseguro en determinadas situaciones, especialmente en servidores privados. Vea también el video de A. Sottile que demuestra los riesgos relacionados con el pedido de opciones y la combinación de servidores PyPI públicos con privados. Úselo con precaución y evalúe sus propios riesgos.


Anticuado

Intentar pip install --extra-index-url https://testpypi.python.org/pypi poirot.

Ver también una publicación de referencia .

pylang avatar Jan 02 '2016 00:01 pylang

Al intentarlo en enero de 2021, la actualización de la respuesta aceptada no funcionó para mí. Esto funcionó:

pip install -i https://test.pypi.org/pypi/ --extra-index-url https://pypi.org/simple <your_package_in_testpypi>

Tenga en cuenta que la primera URL es test.pypi.org/pypiy la segunda es pypi.org/simple.

Su página oficial debe actualizarse, sus instrucciones muestran:

pip install -i https://test.pypi.org/simple/ <your_package_in_testpypi>

lo cual no funciona.

Logan Yang avatar Jan 15 '2021 22:01 Logan Yang