Hoe virtualenv in Linux te activeren?

Ik heb verschillende alternatieven gezocht en geprobeerd zonder succes en ben er nu een aantal dagen mee bezig geweest – ik word er gek van.

Werkt op Red Hat Linux met Python 2.5.2
Begon de meest recente Virtualenv te gebruiken maar kon het niet activeren. Ik vond ergens dat ik een eerdere versie nodig had, dus ik heb Virtualenv 1.6.4 gebruikt, omdat dat zou moeten werken met Python 2.6.

Het lijkt erop dat de virtuele omgeving goed is geïnstalleerd

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

Omgeving ziet er goed uit

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

Proberen te activeren

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

chmod aangevinkt

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

Probleem, dus ik heb het veranderd

[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

Probeer activateopnieuw

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

Nog steeds geen vreugde…


Antwoord 1, autoriteit 100%

Hier is mijn workflow nadat ik een map heb gemaakt en er cdin heb gezet:

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

Antwoord 2, autoriteit 30%

Je bent vergeten source bin/activatete doen waar source een uitvoerbare naam is.
Het viel me de eerste paar keer ook op, gemakkelijk om te denken dat de handleiding zegt “voer dit uit vanuit de hoofdmap van de omgevingsmap”.

Het is niet nodig om activateuitvoerbaar te maken via chmod.


Antwoord 3, autoriteit 24%

Je kunt doen

source ./python_env/bin/activate

of ga gewoon naar de directory

cd /python_env/bin/

en dan

source ./activate

Veel succes.


Antwoord 4, autoriteit 10%

Ga naar de projectmap. In mijn geval is microblogde flask-projectdirectory en onder de microblog-directory moeten de mappen appen venvzijn. voer dan het onderstaande commando uit. Dit is er een die voor mij werkte in Ubuntu.

source venv/bin/activate


Antwoord 5, autoriteit 8%

Cd naar het omgevingspad, ga naar de bin-map.
Als je nu het ls-commando gebruikt, zou je het “activate”-bestand moeten zien.

typ nu

source activate

Antwoord 6, autoriteit 6%

$ mkdir <YOURPROJECT>
Maak een nieuw project

$ cd <YOURPROJECT>
Verander de map naar dat project

$ virtualenv <NEWVIRTUALENV>
Nieuwe virtualenv maken

$ source <NEWVIRTUALENV>/bin/activate
Die nieuwe virtualenv activeren


Antwoord 7, autoriteit 6%

Het probleem daar is de opdracht /bin/.. Dat is echt raar, want . moet altijd een link zijn naar de map waarin het zich bevindt. (Eerlijk gezegd, tenzij .een vreemde alias of functie is, zie ik niet eens hoe het mogelijk is.) Het is ook een beetje ongebruikelijk dat je shell het niet doet geen .ingebouwd voor source.

Een snelle oplossing zou zijn om de virtualenv gewoon in een andere shell uit te voeren. (Een voor de hand liggend tweede voordeel is dat je in plaats van dat je deactivatemoet exit.)

/bin/bash --rcfile bin/activate

Als je shell dit ondersteunt, heb je misschien ook de niet-standaard source-opdracht, die zou moetenhetzelfde doen als ., maar mogelijk bestaat niet. (Alles gezegd, je moet proberen uit te zoeken waarom je omgeving vreemd is, anders zal het je in de toekomst weer pijn doen.)

Trouwens, je hoefde die bestanden niet te chmod +x. Bestanden hoeven alleen uitvoerbaar te zijn als u ze directwilt uitvoeren. In dit geval probeer je ze te starten vanaf ., zodat ze het niet nodig hebben.


Antwoord 8, autoriteit 4%

in plaats van ./activate

gebruik source activate


Antwoord 9, autoriteit 3%

Voor Windows U kunt optreden als:

OM de virtuele env te maken als: virtualenv envName –python=python.exe (indien niet, maak omgevingsvariabele)

Om de virtuele omgeving te activeren: > \path\naar\envName\Scripts\activate

Om de virtuele omgeving te deactiveren: > \pad\naar\env\Scripts\deactiveren

Het werkt prima op de nieuwe python-versie.


Antwoord 10, autoriteit 2%

voer deze code uit, deze wordt geactiveerd als u op een Windows-computer werkt
source venv/Scripts/activate

voer deze code uit, deze wordt geactiveerd als je op een linux/mac-machine werkt
. venv/bin/activate


Antwoord 11

Ik zou virtualenvwrapper ook aanraden. Het doet wonderen voor mij en hoe ik altijd problemen heb met activeren. http://virtualenvwrapper.readthedocs.org/en/latest/


Antwoord 12

Maak uw eigen virtuele Python-omgeving met de naam <Your Env _name >:.
Ik heb het VE gegeven.

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

Om je nieuwe virtuele omgeving te activeren, voer je uit (merk op dat het niet ./hieris):

. VE/bin/activate

Voorbeelduitvoer (opmerking gewijzigd):

(VE)c34299@a200dblr$

Zodra uw virtuele omgeving is ingesteld, kunt u de Virtualenv-repo verwijderen.


Antwoord 13

Op Mac, verander shell in BASH (houd er rekening mee dat virtuele env alleen werkt in 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, het werkte. Zie prompt gewijzigd.

Op Ubuntu:

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

Opmerking: prompt gewijzigd


Antwoord 14

Windows 10

In Windows worden deze mappen aangemaakt:

Om de virtuele omgeving in Windows 10 te activeren.

down\scripts\activate

\scripts directory bevat activatiebestand.

Linux Ubuntu

In Ubuntu worden deze mappen aangemaakt:

Om de virtuele omgeving in Linux Ubuntu te activeren.

source ./bin/activate

/bin directory bevat activatiebestand.


Virtuele omgeving gekopieerd van Windows naar Linux Ubuntu vice versa

Als de map met de virtuele omgeving is gekopieerd van Windows naar Linux Ubuntu, dan volgens de mappen:

source ./down/Scripts/activate

Antwoord 15

Ik had problemen met het uitvoeren van source /bin/activate, toen realiseerde ik me dat ik tcsh als mijn terminal-shell gebruikte in plaats van bash. toen ik overstapte, kon ik venv activeren.


16

1 Open PowerShell en navigeer naar uw applicatiemap
2- Voer uw virtualenv-map ex: CD in. \ Venv \ scripts \
3- Actieve virtualenv per type. \ Activeer

Other episodes