Cómo instalar paquetes de Python desde el archivo tar.gz sin usar pip install

81

En pocas palabras, mi computadora de trabajo tiene restricciones de red, lo que significa que intentar usar pip installen cmd solo lleva a que se agote el tiempo / no se encuentren errores de paquete.

Por ejemplo; cuando trato de pip install seaborn: ingrese la descripción de la imagen aquí

En su lugar, he intentado descargar el archivo tar.gz de los paquetes que quiero, sin embargo, no sé cómo instalarlos. He extraído los archivos del archivo tar.gz y hay un archivo de "configuración" dentro, pero no me sirve de mucho.

Si alguien pudiera explicar cómo instalar paquetes de Python de esta manera sin usar pip installen Windows, sería increíble.

yenoolnairb
fuente

Respuestas:

129

Puede usar pippara eso sin usar la red. Consulte los documentos (busque "Instalar un archivo de origen en particular"). Cualquiera de esos debería funcionar:

pip install relative_path_to_seaborn.tar.gz    
pip install absolute_path_to_seaborn.tar.gz    
pip install file:///absolute_path_to_seaborn.tar.gz    

O puede descomprimir el archivo y usarlo setup.pydirectamente con pipo python:

cd directory_containing_tar.gz
tar -xvzf seaborn-0.10.1.tar.gz
pip install seaborn-0.10.1
python setup.py install

Por supuesto, también debe descargar los paquetes necesarios e instalarlos de la misma manera antes de continuar.

Jérôme
fuente
Esto da el siguiente error:You must give at least one requirement to install (maybe you meant "pip install file:///absolute path.."?)
yenoolnairb
y de hecho he entrado en el camino en caso de que te lo preguntes
yenoolnairb
Si puede descargarlas en otra máquina y traerlas, es posible descargar cada dependencia que necesita e instalarlas de esta manera en un orden tal que el paquete deseado tenga todas las dependencias cumplidas y ya no necesite una conexión de red. Es decir, Adepende de B. Entonces B, instale A.
Hawkins
24

Puede instalar un tarball sin extraerlo primero. Simplemente navegue hasta el directorio que contiene su .tar.gzarchivo desde su símbolo del sistema e ingrese este comando:

pip install my-tarball-file-name.tar.gz

Estoy ejecutando Python 3.4.3 y esto funciona para mí. Sin embargo, no puedo decir si esto funcionaría en otras versiones de Python.

Sнаđошƒаӽ
fuente
3
Al ejecutar esto en Python 3.4.3 y pip 9.0.1, aparece un error relacionado con un archivo temporal: [Errno 2] No such file or directory: '/tmp/pip-anjip21-build/setup.py ejecutándose en Jessie (raspberry pi 3)
Magic_Matt_Man
@Magic Vea los ejemplos en los documentos oficiales . Entonces debería funcionar. Desde el mensaje de error que mostró, parece que el tarball que está intentando instalar no sigue las convenciones de nomenclatura de archivos adecuadas.
Sнаđошƒаӽ
1
pip install * .tar.gz instalará todos los paquetes en el directorio ... solo tratando de ayudar :)
Lev
9

Gracias a las siguientes respuestas combinadas, lo tengo funcionando.

  • Primero necesitaba descomprimir el archivo tar.gz en una carpeta.
  • Luego, antes de ejecutarlo, python setup.py installtenía que apuntar cmd hacia la carpeta correcta. Hice esto porpushd C:\Users\absolutefilepathtotarunpackedfolder
  • Entonces corre python setup.py install

Gracias Tales Padua & Hugo Honorem

yenoolnairb
fuente
¿Puede editar las variables PATH de su máquina? Si es así, puede agregarle python y usar python en cualquier lugar sin necesidad de usar pushd
Tales Pádua
En realidad, no es necesario extraer el archivo tar.gz para instalarlo. Eche un vistazo a mi respuesta
Sнаđошƒаӽ
6

Instalarlo ejecutando

python setup.py install

Mejor aún, puedes descargarlo desde github. Instale git via apt-get install gity luego siga estos pasos:

git clone https://github.com/mwaskom/seaborn.git
cd seaborn
python setup.py install
Tales Pádua
fuente
No such file or directory Esto podría tener que ver con la configuración de mis archivos y carpetas. Python no estará en el lugar predeterminado donde Python normalmente se instalaría
yenoolnairb
desempaquete de tar, vaya a la carpeta donde está setup.py, y luego ejecute el comando anterior
Tales Pádua
¿Necesito modificar el código anterior para que apunte directamente a dónde está el alquitrán desempacado? Porque sigo recibiendono such file or directory
yenoolnairb
Desempaquete el tar.gz en algún lugar. Luego, desde el terminal, dirígete a la carpeta donde lo extrajiste. Debe estar en la carpeta donde está setup.py, y luego ejecutar este comando
Tales Pádua
Desafortunadamente, ¡github está bloqueado en mi computadora de trabajo! Aunque lo tengo funcionando ahora; gracias
yenoolnairb
4

Para aquellos de ustedes que usan python3, pueden usar:

python3 setup.py install
Shersha Fn
fuente
3

Si no desea utilizar la instalación de PIP en absoluto, puede hacer lo siguiente:

1) Descargue el paquete 2) Use 7 zip para descomprimir archivos tar. (Use 7 zip nuevamente hasta que vea una carpeta con el nombre del paquete que está buscando. Por ejemplo: wordcloud)

Carpeta por nombre 'wordcloud'

3) Ubique la carpeta de la biblioteca de Python donde está instalado Python y pegue la carpeta 'WordCloud' allí

Carpeta de la biblioteca de Python

4) ¡¡Éxito !! Ahora puede importar la biblioteca y comenzar a usar el paquete.

ingrese la descripción de la imagen aquí

SVK
fuente
1
Esta perfecta obras para situaciones donde el uso de la pipa generaerror(10054, 'An existing connection was forcibly closed by the remote host')
Adın
0

¿Es posible que lo use sudo apt-get install python-seabornen su lugar? Básicamente, tar.gz es solo un archivo zip que contiene una configuración, por lo que lo que quieres hacer es descomprimirlo, cd al lugar donde se descarga y usarlo gunzip -c seaborn-0.7.0.tar.gz | tar xf -para Linux. Cambie el diccionario al nuevo archivo descomprimido de seaborn y ejecutepython setup.py install

Deusdeorum
fuente
Okey, para que pudiera usar otro desabrochador como 7-zip, es bastante irrelevante qué desabrochador use ..
Deusdeorum
podría ser, de todos modos, las instrucciones son: descomprima la carpeta -> cambie el diccionario en su línea de comando a esa carpeta -> ejecutepython setup.py install
Deusdeorum