Come attivare virtualenv?


235

Ho cercato e provato varie alternative senza successo e ci ho passato diversi giorni - facendomi impazzire.

In esecuzione su Red Hat Linux con Python 2.5.2 Ho iniziato a utilizzare Virtualenv più recente ma non sono riuscito ad attivarlo, ho trovato da qualche parte il suggerimento della versione precedente necessaria, quindi ho usato Virtualenv 1.6.4 poiché dovrebbe funzionare con Python 2.6.

Sembra installare l'ambiente virtuale 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'ambiente sembra ok

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

Prova di attivare

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

Chmod controllato

[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-

Problema, quindi l'ho cambiato

[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

Prova activatedi nuovo

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

Ancora nessuna gioia ...


6
hai provato "source ~ / virtual / bin / activ"?
mmbrian

4
Da con la directory del tuo ambiente fare . bin/activatee dovrebbe funzionare bene.
dansalmo,

1
Penso che tu abbia solo bisogno di usare il sourcecomando, cioèsource bin/activate
Hack-R

1
Penso che devi farlo dalla directory virtualenv quindi prima cd ~/.virtualenvs/*environmentname*quindisource ~/.virtual/bin/activate
11m0

Risposte:


311

Ecco il mio flusso di lavoro dopo aver creato una cartella e cdaverlo inserito:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python

4
ok, ho provato senza gioia [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ virtual virtual / bin / activate source: variabile non definita. [necrailk @ server6 ~] $ sh virtual / bin / activ [necrailk @ server6 ~] $
larry

8
Non digitare il $carattere, che guarda ii come hai fatto qui: [necrailk@server6 ~]$ $source. $è usato per indicare un prompt dei comandi.
Justin Garrick,

3
Stai ancora ricevendo l'errore di posizionati male () ... cosa fare?

2
stesso errore qui :( utente @ mintdesk ~ / python_v $ venv / bin / activable bash: venv / bin / activ: permesso negato
Rui Lima

1
Un'alternativa alla digitazione di "source" è usare sempre un ".":$ . venv/bin/activate
karwag,

89

Hai dimenticato di fare source bin/activatedove source è un nome eseguibile. Mi ha colpito anche per la prima volta, facile pensare che il manuale stia dicendo "esegui questo dal root della cartella dell'ambiente".

Non è necessario eseguire activateeseguibile tramite chmod.


4
OP digitato . bin/activate. Nota il ., che è sinonimo di source.
Thomas,

1
"source è un nome eseguibile" ... quale eseguibile? cmd.exe? powershell.exe?
StingyJack,

1
Sto provando ad attivare un ambiente da cron e non funzionerebbe senza essere eseguibile (chmod 755).
Tahlor,

70

Tu puoi fare

source ./python_env/bin/activate

o vai semplicemente alla directory

cd /python_env/bin/

e poi

source ./activate

In bocca al lupo.


27

CD al percorso dell'ambiente, vai alla cartella bin. A questo punto quando usi il comando ls, dovresti vedere il file "activ".

ora digita

source activate

23

Vai alla directory del progetto. Nel mio caso microblogè la directory del progetto pallone e sotto la microblogdirectory ci dovrebbero essere appe venvcartelle. quindi esegui il comando seguente, Questo ha funzionato per me in Ubuntu.

source venv/bin/activate

inserisci qui la descrizione dell'immagine


17

Il problema è il /bin/.comando. È davvero strano, da allora. dovrebbe sempre essere un collegamento alla directory in cui si trova. (Onestamente, a meno che non .sia uno strano alias o una funzione, non vedo nemmeno come sia possibile.) È anche un po 'insolito che la tua shell non abbia un . built-in persource .

Una soluzione rapida sarebbe quella di eseguire virtualenv in una shell diversa. (Un ovvio secondo vantaggio è quello invece di doverlo faredeactivate , puoi semplicemente exit.)

/bin/bash --rcfile bin/activate

Se la tua shell lo supporta, potresti anche avere il sourcecomando non standard , che dovrebbe fare la stessa cosa di. , ma potrebbe non esistere. (Detto questo, dovresti cercare di capire perché l'ambiente è strano o ti causerà di nuovo dolore in futuro.)

A proposito, non hai bisogno di chmod +xquei file. I file devono essere eseguibili solo se si desidera eseguirli direttamente . In questo caso stai provando a lanciarli da ., quindi non ne hanno bisogno.


2
Inoltre, dovresti procurarti bin/activate, no .bin/activate. Potrebbe anche funzionare con l' .allora ...
krlmlr

@krlmlr Vero, avevo ipotizzato che fosse un errore di battitura, poiché nella riga successiva cdè in bin.
Kojiro,

1
hi [necrailk @ server6 ~ / virtual] $ source bin / activ's Posizionati male (). [necrailk @ server6 ~ / virtual] $
larry

2
korjiro - avevi ragione - avevo bisogno di scoprire perché l'ambiente era strano - si è rivelata un'implementazione bash non standard - il passaggio a bash standard ha risolto tutti i problemi
larry

@larry felice che abbia funzionato: non dimenticare di contrassegnare la risposta come corretta.
Kojiro,

17

$ mkdir <YOURPROJECT> Crea un nuovo progetto

$ cd <YOURPROJECT> Cambia directory in quel progetto

$ virtualenv <NEWVIRTUALENV> Creazione di nuovo virtualenv

$ source <NEWVIRTUALENV>/bin/activate Attivazione di quel nuovo virtualenv



9

Per Windows È possibile eseguire come:

PER creare l'env virtuale come: virtualenv envName –python = python.exe (se non creare la variabile di ambiente)

Per attivare l'env virtuale:> \ path \ to \ envName \ Scripts \ activ

Per disattivare l'env virtuale:> \ path \ to \ env \ Scripts \ disable

Funziona bene con la nuova versione di Python.


Per aggiungere dettagli chiarificatori a questo: una volta creato il tuo ambiente virtuale con virtualenv venv , poi vai manualmente nella cartella Script creata solo per guardare i file, vedrai alcuni file di attivazione. È qui che lo attiviamo per Windows. Quindi cdnella cartella Script e digita . activatenella riga di comando (assicurati di includere uno spazio dopo il punto). Noterai che il tuo percorso nella riga di comando cambia, aggiungendo (venv) all'inizio del tuo percorso. Ciò significa che ora è attivato.
Azurespot

6
source virtualen_name/bin/activate

codice


4
Questa risposta è già fornita (con maggiori informazioni) nelle risposte esistenti. Quando rispondi a domande più vecchie con risposte, assicurati che la tua risposta contribuisca a qualcosa di nuovo o sia di qualità superiore rispetto alle risposte esistenti.
Mark Rotteveel,

4

Consiglierei anche virtualenvwrapper. Funziona a meraviglia per me e come ho sempre problemi con l'attivazione. http://virtualenvwrapper.readthedocs.org/en/latest/


ciao fonte e. (punto) sembrano intercambiabili necrailk @ server6 ~ / virtual] $ source bin / activ's Posizionato male (). questo non sembra funzionare
Larry

il mio permesso bin: drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Erika

secondo i documenti virtuallenvwrapper attualmente non è testato per python2.5 quindi non è comodo aggiungere ai miei possibili problemi- ma grazie
Larry

Solo una carrellata. scoperto che il mio host stava usando una shell non standard. Quando cambiato in Bash normale, tutto ha funzionato come dovrebbe. ora visualizza env virtuale nel prompt e tutti i percorsi vengono modificati di conseguenza. Mille grazie per l'aiuto e i suggerimenti.
Larry

3

Crea il tuo ambiente virtuale Python chiamato <Your Env _name >:. L'ho dato VE.

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

Per attivare il tuo nuovo ambiente virtuale, esegui ( nota che non è ./qui ):

. VE/bin/activate

Output di esempio ( prompt delle note modificato ):

(VE)c34299@a200dblr$

Una volta impostato l'ambiente virtuale, è possibile rimuovere il Virtualenvrepository.


2
Non dovresti controllare il ramo principale di virtualenv e aspettarti che funzioni davvero. Utilizzare invece una versione taggata.
Jon Bringhurst,

3

Su Mac, cambia la shell in BASH (tieni presente che env virtuale funziona solo nella 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, ha funzionato. Vedi prompt modificato.

Su Ubuntu:

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

(toolsenv) user@local_host~/tools$ 

Nota: prompt è cambiato


2

Ho avuto problemi a far funzionare source / bin / activ poi mi sono reso conto che stavo usando tcsh come shell terminale invece di bash. una volta passato sono stato in grado di attivare venv.


1

Windows 10

In Windows vengono create queste directory:

Directory di Windows 10 Virtual Environment

Per attivare l'ambiente virtuale in Windows 10.

down\scripts\activate

La directory \ scripts contiene il file activ.

Linux Ubuntu

In Ubuntu vengono create queste directory:

Directory Linux Ubuntu Virtual Environment

Per attivare l'ambiente virtuale in Linux Ubuntu.

source ./bin/activate

La directory / bin contiene il file di attivazione.


Ambiente virtuale copiato da Windows a Linux Ubuntu viceversa

Se la cartella dell'ambiente virtuale è stata copiata da Ubuntu Windows a Linux, quindi secondo le directory:

source ./down/Scripts/activate

1

esegui questo codice si attiverà su un computer Windows
source venv/Scripts/activate

inserisci qui la descrizione dell'immagine


0

Probabilmente un po 'in ritardo per pubblicare la mia risposta qui, ma continuerò a pubblicare, potrebbe comunque essere utile a qualcuno,

Avevo affrontato lo stesso problema,

Il motivo principale è che ho creato virtualenv come utente "root", ma in seguito ho provato ad attivarlo utilizzando un altro utente.

chmod non funzionerà perché non sei il proprietario del file, quindi l'alternativa è usare chown (per cambiare la proprietà)

Ad esempio:

Se hai il tuo virtualenv creato in / home / abc / ENV

Quindi CD su / home / abc

ed esegui il comando: chown -Rv [utente-a-chi-vuoi-cambiare-proprietà] [cartella / nome file la cui proprietà deve essere cambiata]

In questo esempio i comandi sarebbero: chown -Rv abc ENV

Dopo che la proprietà è stata cambiata correttamente, puoi semplicemente eseguire source /ENV/bin/./activate e dovresti essere in grado di attivare correttamente virtualenv.


0

1- apri powershell e vai alla cartella della tua applicazione 2- inserisci la tua cartella virtualenv es: cd. \ Venv \ Scripts \ 3- active virtualenv per tipo. \ Activ

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.