Python: instale el paquete manualmente usando virtualenv

82

Tengo un programa de Python que quiero instalar en mi virtualenv, es un paquete zip que necesito descomprimir y luego ejecutar un programa setup.py, pero mi pregunta es más sobre cómo obtener estos archivos descomprimidos en mi virtualenv para que el paquete se instala en la carpeta de paquetes de sitio de virtualenv?

También puedo instalar desde dentro de mi virtualenv usando pip install <package name>, pero por alguna razón, el paquete que descarga PIP no está actualizado.

Entonces, ¿alguien puede decirme algunos pasos sencillos para instalar un paquete manualmente?

Hasta ahora tengo los comandos básicos para cargar Virtualenv:

-bash-3.2$ source ~/.bashrc
-bash-3.2$ workon test
(test)-bash-3.2$ //Now I'm working on my virtualenv, but where do I go after this??

Entonces, ¿importa dónde descomprimo el paquete / programa de Python, o debo iniciar sesión en virtualenv antes de descomprimirlo? Después de cargar virtualenv y estoy adentro usándolo con el comando 'workon test', ¿algún paquete de Python que instale, independientemente del directorio en el que lo encuentre, se instalará en la carpeta de paquetes de sitio de virtualenv adecuada?

La opción 1 es descomprimir el programa Python en / home / username / tmp - luego iniciar sesión en mi virtualenv, navegar a esa carpeta y ejecutar el programa setup.py - asumiendo que virtualenv transferirá todos los archivos relevantes a su propia carpeta de paquetes del sitio .

O el escenario 2 es descomprimir los archivos directamente en los paquetes del sitio y ejecutarlo desde allí (después de iniciar sesión en virtualenv), etc.

¡Gracias por ayudar a un Python clutz con esto!

Jamison
fuente

Respuestas:

122

Por lo general, extraería el programa a una carpeta temporal, luego, desde esa carpeta, ejecutaría setup.py usando la ruta directa a la instancia de virtualenv python. por ejemplo, si su virtualenv está en / home / username / virtualpy, use esto (de su carpeta temporal)

/home/username/virtualpy/bin/python setup.py install

Esto debería instalarlo en la carpeta del paquete del sitio virtualenv.

morar
fuente
2
Entonces, realmente la operación de importación es ejecutar Python usando la versión de Python (2.6) instalada en el virtualenv ... ¡agradable! Gracias Dwelch.
Jamison
Asegúrese de ejecutarlo desde la carpeta temporal; setup.py probablemente esperará que sea la carpeta actual.
Set
Esto ya no parece ser necesario. Una vez que se activa el entorno virtual, simplemente ejecuto python setup.py installo python setup.py developy se instala en el lugar correcto.
Oliver
12

bueno cuando se cambia al entorno virtual. deberías escribir

which python

y si devuelve la ruta donde existe su entorno virtual, entonces está bien, puede ejecutar directamente este comando.

$ python setup.py build
$ python setup.py install

pero si da la ruta de nivel global que no es su virtualenv'sruta, entonces debería intentar usar

$ ~/.virtualenv/python-env/bin/python setup.py build
$ ~/.virtualenv/python-env/bin/python setup.py install
Chitrank Dixit
fuente
0

Si un paquete no se instala desde el repositorio, intente bajo venv usando sudo. Como ejemplo para el paquete pathos de Python;

/venv3.6/bin$ sudo pip3 install pathos
Yagmur SAHIN
fuente
0

PACKAGE_DIR = / algún / paquete / directorio / ruta exportar VENV = $ (pipenv --venv) && export BASE_DIR = $ (pwd) && cd $ PACKAGE_DIR && $ VENV / bin / python setup.py install && cd $ BASE_DIR

Christopher Broderick
fuente