Comment activer virtualenv?

236

J'ai fait des recherches et essayé différentes alternatives sans succès et j'y ai passé plusieurs jours - me rendant fou.

Fonctionnant sur Red Hat Linux avec Python 2.5.2 A commencé à utiliser la dernière version de Virtualenv mais n'a pas pu l'activer, j'ai trouvé un endroit suggérant une version antérieure nécessaire, j'ai donc utilisé Virtualenv 1.6.4 car cela devrait fonctionner avec Python 2.6.

Il semble installer l'environnement virtuel ok

[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.

L'environnement semble correct

[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin  include  lib

Essayer d'activer

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Chmod vérifié

[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r-

Problème, donc je l'ai changé

[necrailk@server6 bin]$ ls -l
total 3160
-rwxr--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r--    1 necrailk biz12        1005 Jan 30 11:38 activate_this.py
-rwxr-xr-x    1 necrailk biz

Essayez activateencore

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Toujours pas de joie ...

larry
la source
6
avez-vous essayé "source ~ / virtual / bin / activate"?
mmbrian
4
À partir du répertoire de votre environnement . bin/activate, cela devrait fonctionner correctement.
dansalmo
1
Je pense que vous aviez juste besoin d'utiliser la sourcecommande, c'estsource bin/activate
-
1
Je pense que vous devez le faire à partir du répertoire virtualenv donc d' abord , cd ~/.virtualenvs/*environmentname*puissource ~/.virtual/bin/activate
11m0

Réponses:

311

Voici mon flux de travail après avoir créé un dossier et y cdêtre entré:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python
topherjaynes
la source
4
ok, essayé sans joie [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ source virtual / bin / activate source: variable non définie. [necrailk @ server6 ~] $ sh virtual / bin / activate [necrailk @ server6 ~] $
larry
8
Ne pas saisir le $caractère, ce qui semble ii comme vous l'avez fait ici: [necrailk@server6 ~]$ $source. $est utilisé pour indiquer une invite de commande.
Justin Garrick
3
Encore une erreur mal placée () ... que faire?
2
même erreur ici :( utilisateur @ mintdesk ~ / python_v $ venv / bin / activate bash: venv / bin / activate: Autorisation refusée
Rui Lima
1
Une alternative à taper «source» tout le temps est d'utiliser un «.»:$ . venv/bin/activate
karwag
89

Vous avez oublié de faire source bin/activateoù source est un nom exécutable. Frappez-moi aussi quelques fois, facile à penser que le manuel dit "exécutez ceci depuis la racine du dossier d'environnement".

Pas besoin de rendre activateexécutable via chmod.

kqw
la source
4
OP tapé . bin/activate. Notez le ., qui est synonyme de source.
Thomas
1
"la source est un nom exécutable" ... quel exécutable? cmd.exe? powershell.exe?
StingyJack
1
J'essaie d'activer un environnement à partir de cron, et cela ne fonctionnerait pas sans être exécutable (chmod 755).
Tahlor
70

Tu peux faire

source ./python_env/bin/activate

ou allez simplement dans le répertoire

cd /python_env/bin/

puis

source ./activate

Bonne chance.

cquptzzq
la source
28

Cd sur le chemin de l'environnement, allez dans le dossier bin. À ce stade, lorsque vous utilisez la commande ls, vous devriez voir le fichier «activer».

tapez maintenant

source activate
Reihan_amn
la source
23

Accédez au répertoire du projet. Dans mon cas microblogest le répertoire du projet de flacon et dans le microblogrépertoire il devrait y avoir appet venvdossiers. puis exécutez la commande ci-dessous, celle-ci a fonctionné pour moi dans Ubuntu.

source venv/bin/activate

entrez la description de l'image ici

GNK
la source
17

Le problème, c'est la /bin/.commande. C'est vraiment bizarre, depuis. devrait toujours être un lien vers le répertoire dans lequel il se trouve. (Honnêtement, sauf s'il .s'agit d'un alias ou d'une fonction étrange, je ne vois même pas comment c'est possible.) Il est également un peu inhabituel que votre shell n'ait pas de fonction . intégréesource .

Une solution rapide serait d'exécuter simplement virtualenv dans un autre shell. (Un deuxième avantage évident étant qu'au lieu d'avoir à deactivatevous pouvez simplement exit.)

/bin/bash --rcfile bin/activate

Si votre shell le prend en charge, vous pouvez également avoir la sourcecommande non standard , qui devrait faire la même chose que ., mais peut ne pas exister. (Tout compte fait, vous devriez essayer de comprendre pourquoi votre environnement est étrange ou cela vous fera de nouveau souffrir à l'avenir.)

Au fait, vous n'aviez pas besoin de chmod +xces fichiers. Les fichiers ne doivent être exécutables que si vous souhaitez les exécuter directement . Dans ce cas, vous essayez de les lancer à partir de .sorte qu'ils n'en ont pas besoin.

kojiro
la source
2
En outre, vous devez vous approvisionner bin/activate, non .bin/activate. Pourrait même fonctionner avec le .puis ...
krlmlr
@krlmlr Certes, j'avais supposé que c'était une faute de frappe, car dans la ligne suivante, il cdest dans bin.
kojiro
1
salut [necrailk @ server6 ~ / virtual] $ source bin / activate Mauvais placé (). [necrailk @ server6 ~ / virtual] $
larry
2
korjiro - vous aviez raison - j'avais besoin de découvrir pourquoi l'environnement était étrange - cela s'est avéré être une implémentation bash non standard - le passage à bash standard a résolu tous les problèmes
larry
@larry content que cela ait fonctionné: N'oubliez pas de marquer la réponse comme correcte.
kojiro
17

$ mkdir <YOURPROJECT> Créer un nouveau projet

$ cd <YOURPROJECT> Changer de répertoire pour ce projet

$ virtualenv <NEWVIRTUALENV> Créer un nouveau virtualenv

$ source <NEWVIRTUALENV>/bin/activate Activer ce nouveau virtualenv

rouille
la source
12

au lieu de ./activate

utilisation source activate

Voir cette capture d'écran

Joy Mukherjee
la source
9

Pour Windows Vous pouvez jouer comme:

POUR créer l'environnement virtuel en tant que: virtualenv envName –python = python.exe (sinon créer une variable d'environnement)

Pour activer l'env virtuel:> \ path \ to \ envName \ Scripts \ activate

Pour désactiver l'environnement virtuel:> \ path \ to \ env \ Scripts \ deactivate

Cela fonctionne très bien sur la nouvelle version de python.

susan097
la source
Pour ajouter des détails de clarification à ceci: une fois que vous avez créé votre environnement virtuel avec virtualenv venv , puis allez manuellement dans le dossier Scripts qui a été créé juste pour regarder les fichiers, vous verrez des fichiers d'activation. C'est donc là que nous l'activons pour Windows. Donc, cddans votre dossier Scripts et tapez . activatedans votre ligne de commande (assurez-vous d'inclure un espace après le point). Vous remarquerez votre chemin dans les changements de ligne de commande, en ajoutant (venv) au début de votre chemin. Cela signifie qu'il est désormais activé.
Azurespot
6
source virtualen_name/bin/activate

code

Harish Kumawat
la source
4
Cette réponse est déjà fournie (avec plus d'informations) dans les réponses existantes. Lorsque vous répondez à des questions plus anciennes avec des réponses, assurez-vous que votre réponse apporte quelque chose de nouveau ou est de meilleure qualité que les réponses existantes.
Mark Rotteveel
4

Je recommanderais également virtualenvwrapper. Cela fait des merveilles pour moi et comment j'ai toujours des problèmes avec l'activation. http://virtualenvwrapper.readthedocs.org/en/latest/

Erika
la source
salut source et. (point) semble interchangeable necrailk @ server6 ~ / virtual] $ source bin / activate Mauvais placé (). cela ne semble pas fonctionner
larry
mon autorisation de bac: drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Erika
selon les documents virtuallenvwrapper n'est actuellement pas testé pour python2.5 donc pas à l'aise d'ajouter à mes problèmes possibles- mais merci
larry
Juste un tour d'horizon. découvert que mon hôte utilisait un shell non standard. Lorsqu'il est passé à Bash normal, tout a fonctionné comme il se doit. affiche maintenant env virtuel dans l'invite et tous les chemins sont modifiés en fonction. Merci beaucoup pour l'aide et les suggestions.
larry
3

Créez votre propre environnement virtuel Python appelé <Your Env _name >:. Je lui ai donné VE.

git clone https://github.com/pypa/virtualenv.git
python virtualenv.py VE

Pour activer votre nouvel environnement virtuel, exécutez ( notez qu'il n'est pas ./ ):

. VE/bin/activate

Exemple de sortie ( invite de note modifiée ):

(VE)c34299@a200dblr$

Une fois votre environnement virtuel défini, vous pouvez supprimer le Virtualenvdépôt.

Manas
la source
2
Vous ne devriez pas vérifier la branche principale de virtualenv et vous attendre à ce qu'elle fonctionne réellement. Utilisez plutôt une version balisée.
Jon Bringhurst
3

Sur Mac, changez le shell en BASH (notez que l'environnement virtuel ne fonctionne que dans le shell bash)

[user@host tools]$. venv/bin/activate 

.: Command not found.

[user@host tools]$source venv/bin/activate

Badly placed ()'s.

[user@host tools]$bash

bash-3.2$ source venv/bin/activate

(venv) bash-3.2$ 

Bingo, ça a marché. Voir l'invite modifiée.

Sur Ubuntu:

user@local_host:~/tools$ source toolsenv/bin/activate

(toolsenv) user@local_host~/tools$ 

Remarque: l'invite a changé

sunil_kumar_sahu
la source
2

J'ai eu du mal à exécuter source / bin / activate puis j'ai réalisé que j'utilisais tcsh comme shell de terminal au lieu de bash. une fois que j'ai changé, j'ai pu activer le venv.

Jason
la source
1

Windows 10

Sous Windows, ces répertoires sont créés:

Répertoires d'environnement virtuel Windows 10

Pour activer l'environnement virtuel dans Windows 10.

down\scripts\activate

Le répertoire \ scripts contient le fichier d'activation.

Linux Ubuntu

Dans Ubuntu, ces répertoires sont créés:

Répertoires de l'environnement virtuel Linux Ubuntu

Pour activer l'environnement virtuel sous Linux Ubuntu.

source ./bin/activate

Le répertoire / bin contient le fichier d'activation.


Environnement virtuel copié de Windows vers Linux Ubuntu vice versa

Si le dossier de l'environnement virtuel est copié de Windows vers Linux Ubuntu, puis selon les répertoires:

source ./down/Scripts/activate
Muhammad Faizan Fareed
la source
1

exécutez ce code, il sera activé si vous sur une machine Windows
source venv/Scripts/activate

entrez la description de l'image ici

Jeffery White
la source
0

Probablement un peu tard pour poster ma réponse ici mais je vais quand même poster, ça pourrait bien profiter à quelqu'un,

J'avais fait face au même problème,

La principale raison étant que j'ai créé le virtualenv en tant qu'utilisateur "root". Mais plus tard, j'ai essayé de l'activer en utilisant un autre utilisateur.

chmod ne fonctionnera pas car vous n'êtes pas le propriétaire du fichier, donc l'alternative est d'utiliser chown (pour changer la propriété)

Par exemple:

Si vous avez créé votre virtualenv dans / home / abc / ENV

Puis CD vers / home / abc

et exécutez la commande: chown -Rv [utilisateur-à-qui-vous-voulez-changer-propriétaire] [dossier / nom de fichier dont la propriété doit être changée]

Dans cet exemple, les commandes seraient: chown -Rv abc ENV

Une fois la propriété modifiée, vous pouvez simplement exécuter la source /ENV/bin/./activate et votre devrait être en mesure d'activer correctement le virtualenv.

Lokendra
la source
0

1- ouvrez powershell et accédez à votre dossier d'application 2- entrez votre dossier virtualenv ex: cd. \ Venv \ Scripts \ 3- virtualenv actif par type. \ Activate

aly
la source