Instalación de paquetes de Python desde la carpeta del sistema de archivos local a virtualenv con pip

Resuelto chadgh asked hace 11 años • 14 respuestas

¿Es posible instalar paquetes usando pip desde el sistema de archivos local?

Ejecuté python setup.py sdistmi paquete, que creó el archivo tar.gz apropiado. Este archivo está almacenado en mi sistema en /srv/pkg/mypackage/mypackage-0.1.0.tar.gz.

Ahora, en un entorno virtual, me gustaría instalar paquetes que provengan de pypi o de una ubicación local específica /srv/pkg.

es posible?

PD: Sé que puedo especificar pip install /srv/pkg/mypackage/mypackage-0.1.0.tar.gz. Eso funcionará, pero estoy hablando de usar la /srv/pkgubicación como otro lugar para que pip busque si escribo pip install mypackage.

chadgh avatar Feb 23 '13 02:02 chadgh
Aceptado

Qué pasa::

pip install --help
...
  -e, --editable <path/url>   Install a project in editable mode (i.e. setuptools
                              "develop mode") from a local project path or a VCS url.

p.ej,pip install -e /srv/pkg

donde /srv/pkg es el directorio de nivel superior donde se puede encontrar 'setup.py'.

calmrat avatar Nov 18 '2013 09:11 calmrat

Estoy bastante seguro de que lo que buscas se llama --find-linksopción.

Tu puedes hacer

pip install mypackage --no-index --find-links file:///srv/pkg/mypackage
Mikko Ohtamaa avatar Feb 22 '2013 19:02 Mikko Ohtamaa

Desde la página de instalación de paquetes, simplemente puede ejecutar el siguiente comando, donde /srv/pkg/mypackage es el directorio que contiene el archivo setup.py .

pip install /srv/pkg/mypackage

Además 1 , puede instalarlo desde el archivo comprimido.

pip install ./mypackage-1.0.4.tar.gz 

1 Aunque se indica en la pregunta, debido a su popularidad, también se incluye.

Dimitar avatar Aug 28 '2019 18:08 Dimitar

Lo estoy instalando pyfuzzypero no está en PyPI; devuelve el mensaje: No matching distribution found for pyfuzzy.

Probé la respuesta aceptada

pip install  --no-index --find-links=file:///Users/victor/Downloads/pyfuzzy-0.1.0 pyfuzzy

Pero tampoco funciona y devuelve el siguiente error:

Ignorando índices: https://pypi.python.org/simple Recopilando pyfuzzy No se pudo encontrar una versión que satisfaga el requisito pyfuzzy (de versiones:) No se encontró ninguna distribución coincidente para pyfuzzy

Por fin, encontré una buena manera sencilla de llegar allí: https://pip.pypa.io/en/latest/reference/pip_install.html

Install a particular source archive file.
$ pip install ./downloads/SomePackage-1.0.4.tar.gz
$ pip install http://my.package.repo/SomePackage-1.0.4.zip

Entonces el siguiente comando funcionó para mí:

pip install ../pyfuzzy-0.1.0.tar.gz.

Espero que te ayude.

Victor Choy avatar Sep 01 '2015 11:09 Victor Choy