web-dev-qa-db-fra.com

Virtualenv existant peut-il être mis à niveau avec élégance?

J'ai créé un virtualenv pour Python 2.5 et je veux le "mettre à niveau" vers Python 2.6.

Voici comment il a été initialement configuré:

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

J'exécute maintenant virtualenv dans le même répertoire pour mettre à niveau:

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 valeur par défaut python est toujours de 2,5, même si je peux également spécifier 2,6. Y a-t-il un moyen de supprimer 2,5 entièrement et avoir le point "bin/python" à 2.6 à la place?

84
Matt Norris

Vous pouvez utiliser le Python 2.6 virtualenv pour "revirtualiser" le répertoire existant. Vous devrez cependant réinstaller tous les modules que vous avez installés. J'ai souvent un répertoire virtuel pour développer un module, et virtualenv le même répertoire avec de nombreuses versions de Python, et cela fonctionne très bien. :)

59
Lennart Regebro

Vous devez créer un nouveau virtualenv en utilisant python2.6 puis, après avoir activé le nouvel env, utilisez son python2.6 et son easy_install pour installer les nouvelles versions des packages de site dont vous avez besoin. Attention, le chemin d'accès au virtualenv est câblé dans divers fichiers de l'environnement, donc, lorsque vous êtes prêt à y basculer, modifiez vos scripts de démarrage et autres pour faire référence au nouveau virualenv chemin ou faites très attention à le copier dans l'ancien répertoire et à modifier les noms de chemin à l'intérieur.

4
Ned Deily

Installez un second Python sur CentOS

  1. télécharger python
  2. installer sur diff local

    configure --prefix=/opt/virtualenv/python 
    make && make install
    
  3. créer un env virtuel en utilisant un nouveau python

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

    remarque: si nécessaire, cela peut être fait avec un autre utilisateur

    chown pyuser -R /opt/virtualenv
    su - pyuser
    source /opt/virtualenv/bin/activate
    python -v
    
  4. Créer un env virtuel:

    virtualenv /opt/virtualenv
    su - infograficos
    source bin/activate
    
  5. Installez pip avec python 2.7 (dans virtualenv)

    easy_install pip 
    
3
Xoroz

Si vous utilisez OS X, essayez this si vous souhaitez mettre à niveau Python vers une version légèrement augmentée (par exemple 2.7.6 à 2.7.8) tout en conservant les bibliothèques tierces fonctionnent.

Cela fonctionne pour moi sur 5 environnements virtuels différents avec Django installé.

0
Rockallite