¿Cómo instalar manualmente un módulo pypi sin pip/easy_install?
Quiero usar el módulo gntp para mostrar notificaciones tipo tostadora para software C/C++. Quiero empaquetar todas las dependencias para que el software sea autoejecutable en otra computadora.
El gntp
módulo solo está disponible a través del pip
instalador, que no se puede utilizar (la computadora que ejecuta el software no tiene conexión a Internet)
¿Cómo puedo instalarlo desde la fuente?
Preferiría no obligar al usuario a instalar easy_install
/ pip
y agregar manualmente la ruta pip al archivo %PATH
.
PD: estoy usando Python 2.7 en una máquina con Windows.
- Descarga el paquete
- descomprímelo si está comprimido
cd
en el directorio que contiene setup.py- Si hay instrucciones de instalación contenidas en la documentación, lea y siga las instrucciones. DE LO CONTRARIO
- escribir
python setup.py install
Es posible que necesite privilegios de administrador para el paso 5. Lo que haga aquí depende de su sistema operativo. Por ejemplo en Ubuntu diríassudo python setup.py install
EDITAR : gracias a kwatford (ver el primer comentario)
Para evitar la necesidad de privilegios de administrador durante el paso 5 anterior, es posible que pueda utilizar la --user
bandera. De esta manera puede instalar el paquete solo para el usuario actual.
Los médicos dicen:
Los archivos se instalarán en los subdirectorios de site.USER_BASE (de ahora en adelante escrito como base de usuarios). Este esquema instala módulos Python puros y módulos de extensión en la misma ubicación (también conocida como sitio.USER_SITE).
Se pueden encontrar más detalles aquí: http://docs.python.org/2.7/install/index.html
Para explicar con más detalle la respuesta de Sheena , necesitaba tener instaladas las herramientas de configuración como una dependencia de otra herramienta, por ejemplo, more-itertools .
Descargar
Haga clic en el Clone or downloadbotón y elija su método. Los coloqué en un dev/py/libs
directorio en mi directorio de inicio de usuario. No importa dónde se guarden, porque allí no se instalarán.
- herramientas de configuración: https://github.com/pypa/setuptools
- más-itertools: https://github.com/erikrose/more-itertools
Instalación de herramientas de configuración
Deberá ejecutar lo siguiente dentro del directorio de herramientas de configuración .
python bootstrap.py
python setup.py install
Instalación de dependencias generales.
Ahora puede navegar al directorio more-itertools e instalarlo normalmente.
- Descarga el paquete
- Descomprimirlo si es un archivo
- Navegue (
cd ...
) al directorio que contienesetup.py
- Si hay instrucciones de instalación contenidas en la documentación contenida en este documento, lea y siga las instrucciones DE LO CONTRARIO
- Escribir:
python setup.py install
Aunque la respuesta de Sheena funciona, pip
no se detiene sólo ahí.
De la respuesta de Sheena:
- Descarga el paquete
- descomprímelo si está comprimido
- cd en el directorio que contiene setup.py
- Si hay instrucciones de instalación contenidas en la documentación contenida en este documento, lea y siga las instrucciones DE LO CONTRARIO
- escribir
python setup.py install
Al final de esto, terminará con un .egg
archivo en formato site-packages
. Como usuario, esto no debería molestarte. Puedes import
y uninstall
el paquete normalmente. Sin embargo, si desea hacerlo de la pip
manera, puede continuar con los siguientes pasos.
En el site-packages
directorio,
unzip <.egg file>
- cambiar el nombre del
EGG-INFO
directorio como<pkg>-<version>.dist-info
- Ahora verá un directorio separado con el nombre del paquete,
<pkg-directory>
find <pkg-directory> > <pkg>-<version>.dist-info/RECORD
find <pkg>-<version>.dist-info >> <pkg>-<version>.dist-info/RECORD
. Esto>>
es para evitar la sobrescritura.
Ahora, al mirar el site-packages
directorio, nunca te darás cuenta de que lo instalaste sin pip
. Para uninstall
, simplemente haz lo habitual pip uninstall <pkg>
.