Me gustaría instalar dependencias de mi PyPI privado especificándolas dentro de un setup.py.
Ya intenté especificar dónde encontrar las dependencias de dependency_linksesta manera:
setup(
...
install_requires=["foo==1.0"],
dependency_links=["https://my.private.pypi/"],
...
)
También intenté definir la URL completa dentro de dependency_links:
setup(
...
install_requires=[],
dependency_links=["https://my.private.pypi/foo/foo-1.0.tar.gz"],
...
)
pero cuando trato de instalar con python setup.py install, ninguno de ellos funcionó para mí.
Alguien puede ayudarme?
EDICIONES:
Con la primera pieza de código obtuve este error:
...
Installed .../test-1.0.0-py3.7.egg
Processing dependencies for test==1.0.0
Searching for foo==1.0
Reading https://my.private.pypi/
Reading https://pypi.org/simple/foo/
Couldn't find index page for 'foo' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
No local packages or working download links found for foo==1.0
error: Could not find suitable distribution for Requirement.parse('foo==1.0')
mientras que en el segundo caso no recibí ningún error, solo el siguiente:
...
Installed .../test-1.0.0-py3.7.egg
Processing dependencies for test==1.0.0
Finished processing dependencies for test==1.0.0
ACTUALIZACIÓN 1:
Intenté cambiar las setup.pysiguientes instrucciones de sinoroc. Ahora mi se setup.pyve así:
setup(
...
install_requires=["foo==1.0"],
dependency_links=["https://username:[email protected]/folder/foo/foo-1.0.tar.gz"],
...
)
Construí la biblioteca testcon python setup.py sdiste intentado instalar con pip install /tmp/test/dist/test-1.0.0.tar.gz, pero todavía me sale este error:
Processing /tmp/test/dist/test-1.0.0.tar.gz
ERROR: Could not find a version that satisfies the requirement foo==1.0 (from test==1.0.0) (from versions: none)
ERROR: No matching distribution found for foo==1.0 (from test==1.0.0)
En cuanto al PyPi privado, no tengo ninguna información adicional porque no soy el administrador del mismo. Como puede ver, solo tengo las credenciales ( nombre de usuario y contraseña ) para ese servidor.
Además, ese PyPi está organizado en subcarpetas, https://my.private.pypi/folder/..donde está la dependencia que quiero instalar.
ACTUALIZACIÓN 2:
Al ejecutarlo pip install --verbose /tmp/test/dist/test-1.0.0.tar.gz, parece que solo hay una ubicación donde buscar la biblioteca foo, en el servidor público https://pypi.org/simple/foo/y no en nuestro servidor privado https://my.private.pypi/folder/foo/.
Aquí la salida:
...
1 location(s) to search for versions of foo:
* https://pypi.org/simple/foo/
Getting page https://pypi.org/simple/foo/
Found index url https://pypi.org/simple
Looking up "https://pypi.org/simple/foo/" in the cache
Request header has "max_age" as 0, cache bypassed
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "GET /simple/foo/ HTTP/1.1" 404 13
Status code 404 not in (200, 203, 300, 301)
Could not fetch URL https://pypi.org/simple/foo/: 404 Client Error: Not Found for url: https://pypi.org/simple/foo/ - skipping
Given no hashes to check 0 links for project 'foo': discarding no candidates
ERROR: Could not find a version that satisfies the requirement foo==1.0 (from test==1.0.0) (from versions: none)
Cleaning up...
Removing source in /private/var/...
Removed build tracker '/private/var/...'
ERROR: No matching distribution found for foo==1.0 (from test==1.0.0)
Exception information:
Traceback (most recent call last):
...
En su segundo intento, creo que aún debería tener foo==1.0en el install_requires.
Actualizar
Tenga en cuenta que pip no es compatible actualmente dependency_links(aunque algunas versiones anteriores de pip sí).
Para pip, la alternativa es usar opciones de línea de comando como --extra-index-url o --find-links . Estas opciones no se pueden imponer al usuario de su proyecto (al contrario de los enlaces de dependencia de setuptools ), por lo que deben estar debidamente documentadas. Para facilitar esto, una buena idea es proporcionar un archivo requirements.txt a los usuarios de su proyecto. Este archivo puede contener algunas de las opciones de pip y, en particular, se pueden especificar por línea (es decir, por requisito).
Por ejemplo:
# requirements.txt
# ...
foo==1.0 --find-links 'https://my.private.pypi/'
# ...
Jana Duggar ha sido abierta sobre su búsqueda del amor. Aquí está todo lo que ha dicho sobre el tema y su ventana de cinco años para el matrimonio.
La estrella de 'Outlander', Sam Heughan, reveló recientemente qué se llevará del set para recordar a Jamie Fraser, el papel que lo convirtió en una estrella.
'She Loves You' fue escrita en una hora, grabada en un día y fue la canción de The Beatles con una de las mejores interpretaciones de su carrera.
Dolly Parton y su abuela Bessie tenían una relación especial. La abuela Parton estaba muy enferma, pero eso no impidió que Dolly le hiciera una broma.
Puede que pienses que el roble o el nogal americano son maderas resistentes, pero cuando se trata de las maderas más duras del mundo, ni siquiera se acercan.
El océano rebosa belleza, pero también esconde algunas de las criaturas marinas más aterradoras del planeta. Muchos de estos animales acechan en las profundidades oceánicas, en el oscuro y opresivo mundo de alta presión del océano.
Si te enfrentas a monstruos hostiles o te preparas para combates PvP, conocer los mejores encantamientos para espadas en Minecraft puede darte una gran ventaja. Encantar espadas te permite infligir más daño, aumentar los objetos que sueltan los monstruos y prolongar la durabilidad de tu espada.
Cuando se habla de países socialistas, a menudo se imagina a la gente con un control estatal total y sin propiedad privada. Pero en la práctica, las economías socialistas varían enormemente.
“Children” lanza un cameo de renombre y algunas noticias devastadoras
Se dice que este RAV4 está en excelentes condiciones y preparado para un juego de sillas musicales.
Imágenes de drones capturaron a los bomberos que parecían tener dificultades para apagar el incendio.
Eyes of Wakanda se vincula directamente con la MCU, además de actualizaciones sobre X-Men '97, What If..., Daredevil y más.
El anillo de compromiso de Kate Middleton perteneció a la princesa Diana antes de que el príncipe William le propusiera matrimonio con él. Descubra todo lo que hay que saber sobre esta pieza histórica aquí.
John Cleese se casó con su esposa, Jennifer Wade, en 2012. Aquí encontrará todo lo que debe saber sobre la esposa de John Cleese, Jennifer Wade.
Patton Oswalt se casó con su esposa, la también actriz Meredith Salenger, en 2017. Aquí encontrará todo lo que debe saber sobre la esposa de Patton Oswalt, Meredith Salenger.
Aquí encontrará todo lo que debe saber sobre Lauren Scruggs Kennedy, la bloguera de moda y autora de best sellers del New York Times que espera su segundo hijo con la personalidad de televisión Jason Kennedy.
Me llama la atención De repente, como ocurre con tanta frecuencia Es el punto medio de nuevo <No, no el del Pacífico, tú, el del carnaval> Todos los titulares en voz alta...
En 2022, con el lanzamiento de GPT-3, la habilidad de escritura parece perder importancia. Con IA, las personas con mala escritura también pueden generar personal de calidad.
En el mundo acelerado y competitivo de hoy, la carrera de uno juega un papel importante en el crecimiento personal, la estabilidad financiera y la satisfacción general con la vida. Sin embargo, muchas personas se encuentran atrapadas en un ciclo implacable de estancamiento e insatisfacción, y su vida profesional se desvanece gradualmente.
La semana pasada noté un comunicado de prensa, enviado a través de PressGazette (un sitio web de noticias de los medios británicos). El artículo anunciaba que Acast, la empresa de publicidad y alojamiento de podcasts de Scandi, lideraría un consorcio de editores "probablemente los más influyentes" en podcasting.