tutorial instalar entorno crear activar python windows virtualenv

instalar - virtualenv python 3 tutorial



¿Puedo instalar paquetes de ventanas de Python en virtualenvs? (6)

Puede usar easy_install de environment para instalar PyCUDA.

dev-env-path/bin/easy_install pycuda

le dará la misma versión 0.94rc.

En Windows, easy_install.exe estará en el directorio de Scripts.

Virtualenv es genial: me permite mantener una cantidad de instalaciones de Python distintas para que las dependencias de los diferentes proyectos no se unan en una pila común.

Pero si deseo instalar un paquete en Windows que está empaquetado como un instalador .exe, ¿cómo puedo dirigirlo para que se instale en el virtualenv? Por ejemplo, tengo pycuda-0.94rc.win32-py2.6.exe. Cuando lo ejecuto, examina el registro y encuentra solo un Python26 para instalar, el más común sobre el cual se basa mi virtualenv.

¿Cómo puedo dirigirlo para que se instale en Virtualenv?


Sé que esta es una pregunta bastante antigua, y es anterior a las herramientas de las que estoy a punto de hablar, pero por el bien de Google, creo que es una buena idea mencionarlo. easy_install es la oveja negra del empaque de pitón. Nadie quiere admitir usarlo con el nuevo calor de la pipa. Además, al jugar trucos de registro funcionará mejor para los instaladores EXE no estándar (alguien construyó el instalador por sí mismo en lugar de usar distutils y está verificando el registro para la ruta de instalación), ahora hay una forma mejor (c) para los instaladores EXE estándar .

pip install wheel wheel convert INSTALLER.EXE pip install NEW_FILE_CREATED_IN_LAST_STEP.whl

El formato de rueda, presentado recientemente a partir de esta publicación, es el reemplazo del formato de huevo, que cumple el mismo papel. Este formato también es compatible con pip (una herramienta ya instalada en su virtual).

si por algún motivo, pip install WHEELFILE no funciona, intente wheel install WHEELFILE


Sí tu puedes. Todo lo que necesitas es

easy_install binary_installer_built_with_distutils.exe

¿Sorprendido? Parece que los instaladores binarios para Windows creados con distutils combinan .exe con .zip en un archivo .exe. Cambia la extensión a .zip para ver que es un archivo zip válido. Lo descubrí después de leer las respuestas a mi pregunta. ¿Dónde puedo descargar huevos binarios con psycopg2 para Windows?

ACTUALIZAR

Como notó Tritium21 en su respuesta hoy en día, debería usar pip en lugar de easy_install. Pip no puede instalar paquetes binarios creados por distutils, pero puede instalar paquetes binarios en el nuevo formato de wheel . Puede convertir de un formato antiguo al nuevo usando un paquete de wheel , que debe instalar primero.


Si es un .msi , es posible que pueda especificar opciones de línea de comando usando msiexec . El installer Python en sí mismo permite TARGETDIR , pero no estoy seguro si distutils hornea esto en los instaladores de distribución.

Si está usando un .exe , no creo que haya una manera limpia. Una opción es utilizar un programa como 7Zip (o winzip, etc.) para extraer directamente el contenido del archivo ejecutable y luego copiar las carpetas relevantes en la carpeta de paquetes de sitio virtuales. Por ejemplo, si extraigo "processing-0.5.2.win32-py2.5.exe", encuentro una carpeta "PLATLIB / processing" que copio en una ruta virtualenv y la uso sin ningún problema de tiempo de ejecución. (No estoy seguro de que siempre sea así de simple)


Terminé adaptando un script ( http://effbot.org/zone/python-register.htm ) para registrar una instalación de Python en el registro. Puedo elegir Python para que sea el Python en el registro, ejecutar el instalador de Windows y luego configurar el registro nuevamente:

# -*- encoding: utf-8 -*- # # script to register Python 2.0 or later for use with win32all # and other extensions that require Python registry settings # # Adapted by Ned Batchelder from a script # written by Joakim Löw for Secret Labs AB / PythonWare # # source: # http://www.pythonware.com/products/works/articles/regpy20.htm import sys from _winreg import * # tweak as necessary version = sys.version[:3] installpath = sys.prefix regpath = "SOFTWARE//Python//Pythoncore//%s//" % (version) installkey = "InstallPath" pythonkey = "PythonPath" pythonpath = "%s;%s//Lib//;%s//DLLs//" % ( installpath, installpath, installpath ) def RegisterPy(): try: reg = OpenKey(HKEY_LOCAL_MACHINE, regpath) except EnvironmentError: try: reg = CreateKey(HKEY_LOCAL_MACHINE, regpath) except Exception, e: print "*** Unable to register: %s" % e return SetValue(reg, installkey, REG_SZ, installpath) SetValue(reg, pythonkey, REG_SZ, pythonpath) CloseKey(reg) print "--- Python %s at %s is now registered!" % (version, installpath) if __name__ == "__main__": RegisterPy()

Ejecute este script con el Python que desea registrar, y se ingresará en el registro. Tenga en cuenta que en Windows 7 y Vista, necesitará privilegios de administrador.


easy_install puede instalar paquetes .exe siempre que se hayan creado utilizando el destino bdist_wininst de distutils, que cubre muchos paquetes populares. Sin embargo, hay muchos otros que no lo son (wxPython es uno con el que he luchado)