2010-01-31 19 views
70

Tengo un virtualenv creado para Python 2.5 y quiero "actualizarlo" a Python 2.6.¿Se puede actualizar virtualenv existente con gracia?

Aquí está la forma en que se creó originalmente:

virtualenv --no-site-packages -p python2.5 myenv 

ahora corro virtualenv en el mismo directorio para actualizar:

virtualenv --no-site-packages -p python2.6 myenv 
... 
Not overwriting existing python script myenv/bin/python (you must use myenv/bin/python2.6) 
... 
Overwriting myenv/bin/activate with new content 

La pitón por defecto sigue siendo 2.5, a pesar de que también puede especificar 2.6. ¿Hay alguna forma de eliminar 2.5 por completo y tener punto 'bin/python' a 2.6 en su lugar?

Respuesta

47

Puede usar el virtualenv de Python 2.6 para "revirtual" el directorio existente. Sin embargo, tendrá que reinstalar todos los módulos que instaló. A menudo tengo un directorio virtual para desarrollar un módulo, y virtualenv el mismo directorio con muchas versiones de Python, y funciona muy bien. :)

+1

Gracias! Intenté su método y veo que el script 'activate' está actualizado, pero la versión anterior permanece (consulte la pregunta revisada). ¿Eres capaz de dar un ejemplo? –

+10

puede simplemente eliminar el ejecutable bin/python en el virtualenv antes de volver a ejecutar virtualenv con python 2.6. –

+0

¡Perfecto! ¡Gracias! –

4

se debe crear una nueva virtualenv usando python2.6 y luego, después de activar el nuevo env, utilizar sus python2.6 y su easy_install para instalar nuevas versiones de los paquetes de sitio que necesita. Tenga en cuenta que el nombre de ruta al virtualenv está cableado en varios archivos dentro del entorno, por lo tanto, cuando esté listo para cambiarlo, cambie sus scripts de inicio y demás para hacer referencia a la nueva ruta virualenv o tenga mucho cuidado al copiarla en el directorio anterior y modificando los nombres de ruta dentro de él.

2

instalar un segundo pitón en CentOS

  1. descarga pitón
  2. Instalar para diff locales

    configure --prefix=/opt/virtualenv/python 
    make && make install 
    
  3. crear env virtual usando nueva pitón

    virtualenv /opt/virtualenv --python=/opt/python276/bin/python 
    

    nota : si es necesario, puede ser don e con un usuario diferente

    chown pyuser -R /opt/virtualenv 
    su - pyuser 
    source /opt/virtualenv/bin/activate 
    python -v 
    
  4. Crear env virtual:

    virtualenv /opt/virtualenv 
    su - infograficos 
    source bin/activate 
    
  5. Instalar pip con Python 2.7 (dentro virtualenv)

    easy_install pip 
    
0

Si está utilizando OS X, pruebe this si desea actualizar Python a una versión de menor escala (por ej. 2.7.6 a 2.7.8) mientras mantienen funcionando las bibliotecas de terceros.

que funcione para mí en 5 entornos virtuales diferentes con Django instalados.

Cuestiones relacionadas