web-dev-qa-db-fra.com

pip: impossible de trouver un serveur virtuel activé (obligatoire)

J'essaye d'installer virtualenv et/ou virtualenvwrapper sur un mac osx 10.8.3

Je me bats avec du python depuis deux jours. Enfin, j'ai pu installer Python 2.7.4 en utilisant brew. Auparavant, j'avais virtualenv installé avec easy_install. Ensuite, j'ai essayé de le désinstaller, en essayant de placer mon ordinateur dans la même situation que celle de mes collègues. Peut-être que je l'ai désinstallé avec succès, peut-être pas. Je ne sais pas comment le tester. Maintenant je suis supposé installer virtualenv en utilisant -

pip install virtualenv

Mais ça me donne

Could not find an activated virtualenv (required).

pip install virtualenvwrapper donne exactement le même résultat.

De plus, la variable: PIP_RESPECT_VIRTUALENV est null:

echo $PIP_RESPECT_VIRTUALENV

Comment puis-je résoudre ce problème?

Merci

34
Pietro Speroni

Ouvrez votre fichier ~/.bashrc et voyez si cette ligne est là - 

export PIP_REQUIRE_VIRTUALENV=true

Cela pourrait causer le problème. S'il y en a un, changez le en false et lancez - 

source ~/.bashrc

Sinon, lancez export PIP_REQUIRE_VIRTUALENV=false à partir du terminal.

86
Bibhas Debnath

@Bibhas l'a; +1 pour rechercher export PIP_REQUIRE_VIRTUALENV=true dans ~/.profile ou ~/.bashrc. Vous pouvez confirmer le réglage dans votre Shell actuel avec env |grep PIP_REQUIRE_VIRTUALENV.

Ce paramètre est un bon contrôle de sécurité; le plus souvent, vous voudrez installer des éléments dans virtualenvs. Cependant, vous do voulez parfois travailler avec le python global/system. Dans ces cas, regardez --isolated :

Exécutez pip en mode isolé, en ignorant les variables d'environnement et la configuration de l'utilisateur.

$ pip install --upgrade pip
Could not find an activated virtualenv (required).
$ pip install --upgrade pip --isolated
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages
$ pip freeze --isolated
...
7
JCotton

Une solution supplémentaire à celles déjà présentées consiste à ajouter une commande Shell qui vous permettra d'installer des packages py en remplaçant temporairement le paramètre par défaut. Ajoutez-le à votre ~/.profile, ~/.bashrc ou à l'endroit où vous conservez les exportations/paramètres de votre shell (dans mon cas, ~/.zshrc).

syspip(){
    PIP_REQUIRE_VIRTUALENV="" pip "$@"
}

Avec ce simple ajout, vous pouvez installer des packages pip sur le système via syspip install <package>.

5
PerryAJ

Vérifiez le contenu de ~/.pip/pip.conf comme suit:

[global]
index=https://pypi.python.org/simple/

require-virtualenv=false

si précédent, il était défini comme require-virtualenv = true

1
N N K Teja

Un autre endroit où vous pouvez éventuellement avoir ce "verrou" est le fichier pip.conf. Dans mon cas, j'en avais un dans mon dossier ~/Library/Application Support/pip et je l'avais oublié.

Le contenu typique du fichier pourrait être:

[install]
require-virtualenv = true

[uninstall]
require-virtualenv = true

Semblable à d’autres réponses, false devrait être remplacé par true dans le fichier.

0
Vitalii