Je suis passé par la recherche et ai essayé diverses alternatives sans succès et y ai passé plusieurs jours - me rendant fou.
Exécution sous Red Hat Linux avec Python 2.5.2 A commencé à utiliser Virtualenv le plus récent, mais ne pouvait l'activer, j'ai trouvé quelque part une suggestion suggérant une version antérieure nécessaire. J'ai donc utilisé Virtualenv 1.6.4 car cela devrait fonctionner avec Python. 2.6.
[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.
[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin include lib
[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.
[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-
[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
activate
[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.
Toujours pas de joie ...
Voici mon flux de travail après la création d'un dossier et cd
'ing dans celui-ci:
$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python
Vous avez oublié de faire source bin/activate
où source est un nom exécutable. Frappez-moi pour la première fois également, il est facile de penser que ce manuel dit "exécutez ceci à partir de la racine du dossier d'environnement".
Pas besoin de rendre activate
exécutable via chmod
.
Tu peux faire
source ./python_env/bin/activate
ou simplement aller dans le répertoire
cd /python_env/bin/
puis
source ./activate
Bonne chance.
Cd dans le chemin d’environnement, allez dans le dossier bin. À ce stade, lorsque vous utilisez la commande ls, vous devriez voir le fichier "activer".
maintenant tapez
source activate
Le problème est la commande /bin/.
. C'est vraiment bizarre, depuis. devrait toujours être un lien vers le répertoire dans lequel il se trouve. (Honnêtement, à moins que .
ne soit pas un alias ou une fonction étrange, je ne vois même pas comment cela est possible.) Il est également un peu inhabituel que votre Shell ne possède pas un .
intégré pour source
.
Une solution rapide consisterait simplement à exécuter virtualenv dans un autre shell. (Un deuxième avantage évident est qu'au lieu de devoir deactivate
, vous pouvez simplement exit
.)
/bin/bash --rcfile bin/activate
Si votre shell le supporte, vous pouvez également avoir la commande non standard source
, qui devrait faire la même chose que .
, mais peut ne pas exister. (Tout ceci dit, vous devriez essayer de comprendre pourquoi votre environnement est étrange ou il vous causera de la douleur à l'avenir.)
En passant, vous n'avez pas besoin de chmod +x
ces fichiers. Les fichiers ne doivent être exécutables que si vous voulez les exécuter directement . Dans ce cas, vous essayez de les lancer à partir de .
, afin qu’ils n’en aient pas besoin.
$ mkdir <YOURPROJECT>
Créer un nouveau projet
$ cd <YOURPROJECT>
Changer le répertoire pour ce projet
$ virtualenv <NEWVIRTUALENV>
Création d'un nouveau serveur virtuel
$ source <NEWVIRTUALENV>/bin/activate
Activer ce nouveau virtualenv
Pour Windows, vous pouvez effectuer les opérations suivantes:
POUR créer l’env virtuel en tant que: virtualenv envName –python = python.exe (si non, créer une variable d’environnement)
Pour activer l’env virtuel:>\chemin\to\envName\Scripts\activate
Pour désactiver l’env virtuel:>\chemin\to\env\scripts\deactivate
Cela fonctionne très bien sur la nouvelle version python.
Je recommanderais également virtualenvwrapper. Cela fonctionne à merveille pour moi et j'ai toujours des problèmes d'activation. http://virtualenvwrapper.readthedocs.org/en/latest/
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 que ce n'est pas ./
ici):
. VE/bin/activate
Exemple de sortie (Invite note modifiée):
(VE)c34299@a200dblr$
Une fois que votre environnement virtuel est défini, vous pouvez supprimer le repo Virtualenv
.
Sur Mac, changez Shell en BASH (notez que l’environnement virtuel ne fonctionne que dans Bash Shell)
[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 fonctionné. Voir Invite modifiée.
Sur Ubuntu:
user@local_Host:~/tools$ source toolsenv/bin/activate
(toolsenv) user@local_Host~/tools$
Remarque: l'invite a changé
J'ai eu du mal à faire tourner source/bin/activate, puis j'ai réalisé que j'utilisais tcsh comme terminal Shell au lieu de bash. une fois que j'ai changé, j'ai pu activer venv.
1- ouvrez powershell et naviguez jusqu'au dossier de votre application 2- entrez votre dossier virtualenv ex: cd.\Venv\Scripts\3- virtualenv actif par type.\Activate
Probablement un peu tard pour poster ma réponse ici, mais je vais quand même poster, ça pourrait avantager quelqu'un,
J'avais fait face au même problème,
La raison principale étant que j'ai créé virtualenv en tant qu'utilisateur "root", mais que plus tard, je tentais de l'activer avec un autre utilisateur.
chmod ne fonctionnera pas car vous n'êtes pas le propriétaire du fichier, vous pouvez donc utiliser chown (pour changer de propriétaire)
Par exemple :
Si vous avez créé votre virtualenv à/home/abc/ENV
Puis CD vers/home/abc
et exécutez la commande: chown -Rv [utilisateur à qui vous voulez changer de propriétaire] [dossier/nom de fichier dont le propriétaire doit être changé]
Dans cet exemple, les commandes seraient: chown -Rv abc ENV
Une fois la propriété modifiée, vous pouvez simplement exécuter source /ENV/bin/./activate et vous devriez pouvoir activer le virtualenv correctement.