web-dev-qa-db-fra.com

Problème d'activation de virtualenv

J'ai installé l'environnement python au moyen de commandes:

SYS_INSTALL="apt-get install -y"
PIP_INSTALL="pip install"

# Be sure to install setuptools before pip to properly replace easy_install.
$SYS_INSTALL git 
$SYS_INSTALL python-dev
$SYS_INSTALL python-setuptools
$SYS_INSTALL python-pip
$PIP_INSTALL virtualenv

a également pu créer un nouvel environnement virtuel:

virtualenv .env

Cependant, après avoir exécuté une commande comme:

. .env/bin/activate

J'ai eu

-bash: .env/bin/activate: Aucun fichier ou répertoire de ce type

Après avoir examiné le dossier .env/bin Je n'ai trouvé qu'un seul fichier python. Liste complète des fichiers ici:

.env/lib:
python2.7

.env/include:
python2.7

.env/bin:
python

Quel est le problème ici?

SOLUTION ajoutez --always-copy

virtualenv .env - toujours-copie

9
SpanishBoy

La réponse acceptée est incomplète! Le code suggéré a omis votre erreur, mais n'a pas fait de commentaire à ce sujet.

La commande . .env/bin/activate ferait en effet la même chose que source sur le fichier activate dans le dossier .env/bin. En fait, la commande "source" est apparemment un alias de la commande ". ", et non l'inverse. Notez que . ici a un espace après, et utilisé différemment du . discuté ci-dessous (ce qui rend les fichiers et dossiers cachés).

Ce que je remarque, c'est que vous appelez votre dossier .env, ce qui n'est pas une pratique courante. Fichiers et dossiers précédés de . sont rendus "masqués" par Mac OS X. La pratique standard consiste à appeler un environnement virtuel répertoireenv ou venv, et à appeler la spécification de l'environnement virtuel - fichier.env.

Donc, si votre fichier de spécifications s'appelle .env et votre répertoire d'environnement virtuel s'appelle env, vous pouvez exécuter soit

source env/bin/activate ou . env/bin/activate.

5
Zach Siegel

Pour moi, cela fonctionne lorsque je fais ces étapes:

  • Accédez au répertoire/dossier souhaité

  • courir virtualenv .env

  • puis exécutez source .env/bin/activate

10
Alex

vous avez oublié d'inclure source avant d'activer la commande
source env/bin/activate

cette question est similaire à la vôtre virtualenv n'est pas compatible avec ce système ou exécutable où il crée virtualenv mais, python fichier au lieu de activate dans le bac

2
shivsn

J'étais confronté à ce même problème. J'ai désinstallé virtualenv dans Ubuntu puis je l'ai réinstallé. Après ce non-sens, cela fonctionne et maintenant je peux activer mon virtualenv via -$source py3/bin/activate.

0
Asmath