J'ai un virtualenv existant avec beaucoup de packages mais une ancienne version de Django.
Ce que je veux faire, c'est dupliquer cet environnement donc j'ai un autre environnement avec exactement les mêmes packages mais une version plus récente de Django. Comment puis-je faire ceci?
python
django
virtualenv
dolma33
la source
la source
virtualenv -p /path/to/older/venv/bin/python new_venv
, puis utiliser lerequirements.txt
que vous avez généré aprèspip freeze
Réponses:
Le moyen le plus simple consiste à utiliser pip pour générer un fichier d'exigences. Un fichier d'exigences est essentiellement un fichier qui contient une liste de tous les packages python que vous souhaitez installer (ou que vous avez déjà installés dans le cas d'un fichier généré par pip), et de quelles versions ils se trouvent.
Pour générer un fichier d'exigences, accédez à votre virtualenv d'origine et exécutez:
Cela générera le fichier requirements.txt pour vous. Si vous ouvrez ce fichier dans votre éditeur de texte préféré, vous verrez quelque chose comme:
Maintenant, modifiez la ligne qui dit
Django==x.x
à direDjango==1.3
(ou quelle que soit la version que vous souhaitez installer dans votre nouveau virtualenv).Enfin, activez votre nouveau virtualenv et exécutez:
Et pip téléchargera et installera automatiquement tous les modules python répertoriés dans votre fichier requirements.txt , quelle que soit la version que vous avez spécifiée!
la source
Could not find a version that satisfies the requirement a_package=#.#.#
Puis-je le résoudre facilement? J'ai supprimé une ligne ou changé l'égalité en inégalité.pyenv
aussi pour . Réponse géniale.Une autre option consiste à utiliser
virtualenv-clone
package:la source
virtualenv-clone
après avoir activé le virtualenvvirtualenvwrapper
fournit une commande pour dupliquer virtualenvla source
Si vous utilisez Anaconda, vous pouvez simplement exécuter:
Cela copiera
myenv
dans l'environnement nouvellement créé appelémyclone
.la source
L'option la plus simple consiste à utiliser le
virtualenv-clone
package.Pour dupliquer
venv1
versvenv2
, procédez comme suit:Installez
virtualenv-clone
dansvenv1
un environnement virtuel factice ou dans un environnement virtuel facticevenv_dummy
. Pour créervenv_dummy
:Pour installer
virtualenv-clone
:Pour dupliquer
venv1
versvenv2
:la source
bin/activate
si vous suivez cette réponse. Pourquoi devez-vous modifierbin/activate
?bin/activate
Ne pouvez-vous pas simplement:
la source