Przeszedłem poszukiwania i wypróbowałem różne alternatywy bez powodzenia i spędziłem nad tym kilka dni - doprowadzając mnie do szaleństwa.
Działając na Red Hat Linux z Pythonem 2.5.2 Rozpocząłem korzystanie z najnowszej Virtualenv, ale nie mogłem go aktywować, znalazłem coś sugerującego potrzebną wcześniejszą wersję, więc użyłem Virtualenv 1.6.4, ponieważ powinien on działać z Python 2.6.
Wygląda na to, że instalacja środowiska wirtualnego jest dobra
[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.
Środowisko wygląda dobrze
[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin include lib
Próbuję aktywować
[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.
Sprawdzone chmod
[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-
Problem, więc to zmieniłem
[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
Spróbuj activate
ponownie
[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.
Wciąż nie ma radości ...
python
linux
virtualenv
Larry
źródło
źródło
. bin/activate
i powinno działać dobrze.source
polecenia, tj.source bin/activate
cd ~/.virtualenvs/*environmentname*
następniesource ~/.virtual/bin/activate
Odpowiedzi:
Oto mój przepływ pracy po utworzeniu folderu i
cd
wejściu do niego:źródło
$
znak, który ii wygląda zrobiłeś tutaj:[necrailk@server6 ~]$ $source
.$
służy do wskazania wiersza polecenia.$ . venv/bin/activate
Zapomniałeś zrobić,
source bin/activate
gdzie source jest nazwą pliku wykonywalnego. Uderzyło mnie też kilka razy, łatwo pomyśleć, że instrukcja mówi „wykonaj to z katalogu głównego folderu środowiska”.Nie ma potrzeby
activate
wykonywania za pomocąchmod
.źródło
. bin/activate
. Zwróć uwagę na.
, który jest synonimemsource
.cmd.exe
?powershell.exe
?Możesz to zrobić
lub po prostu przejdź do katalogu
i wtedy
Powodzenia.
źródło
Cd do ścieżki środowiska, przejdź do folderu bin. W tym momencie, gdy użyjesz polecenia ls, powinieneś zobaczyć plik „aktywuj”.
teraz wpisz
źródło
Przejdź do katalogu projektu. W moim przypadku
microblog
jest to katalog projektu flask, a podmicroblog
katalogiem powinny znajdować sięapp
ivenv
foldery. następnie uruchom poniższe polecenie: To działa dla mnie w Ubuntu.źródło
Problemem jest
/bin/.
polecenie. To naprawdę dziwne. powinien zawsze być linkiem do katalogu, w którym się znajduje. (Szczerze mówiąc, chyba że.
jest to dziwny alias lub funkcja, nawet nie widzę, jak to możliwe). Jest również trochę niezwykłe, że twoja powłoka nie ma.
wbudowanegosource
.Jednym szybkim rozwiązaniem byłoby po prostu uruchomienie virtualenv w innej powłoce. (Oczywistą drugą zaletą jest to, że zamiast tego
deactivate
możesz po prostuexit
.)Jeśli twoja powłoka go obsługuje, możesz także mieć niestandardowe
source
polecenie, które powinno zrobić to samo co.
, ale może nie istnieć. (Wszystko powiedziawszy, powinieneś spróbować dowiedzieć się, dlaczego twoje otoczenie jest dziwne lub spowoduje to ból w przyszłości.)Nawiasem mówiąc, nie trzeba było
chmod +x
tych plików. Pliki muszą być wykonywalne tylko wtedy, gdy chcesz je wykonać bezpośrednio . W takim przypadku próbujesz je uruchomić.
, aby nie były potrzebne.źródło
bin/activate
, a nie źródła.bin/activate
. Może nawet pracować z.
ówczesnym ...cd
s dobin
.$ mkdir <YOURPROJECT>
Utwórz nowy projekt$ cd <YOURPROJECT>
Zmień katalog na ten projekt$ virtualenv <NEWVIRTUALENV>
Tworzenie nowego virtualenv$ source <NEWVIRTUALENV>/bin/activate
Aktywacja tego nowego virtualenvźródło
zamiast
./activate
posługiwać się
source activate
źródło
W systemie Windows Możesz wykonać jako:
Aby utworzyć wirtualną env jako: virtualenv envName –python = python.exe (jeśli nie, stwórz zmienną środowiskową)
Działa dobrze w nowej wersji Pythona.
źródło
virtualenv venv
, a następnie ręcznie przejdź do folderu Skrypty, który został utworzony tylko w celu przeglądania plików, zobaczysz niektóre pliki aktywacji. Dlatego właśnie aktywujemy go w systemie Windows. Tak więccd
w folderze Skrypty i wpisz. activate
w wierszu polecenia (pamiętaj o spacji po kropce). Zauważysz swoją ścieżkę w zmianach wiersza poleceń, dodając (venv) na początku ścieżki. Oznacza to, że jest teraz aktywowany.źródło
Poleciłbym również virtualenvwrapper. Działa to dla mnie cuda i zawsze mam problemy z aktywacją. http://virtualenvwrapper.readthedocs.org/en/latest/
źródło
Utwórz własne wirtualne środowisko Python o nazwie
<Your Env _name >:
. Dałem to VE.Aby aktywować nowe środowisko wirtualne, uruchom ( zauważ, że go
./
tu nie ma ):Przykładowe dane wyjściowe ( zmieniono monit o notatkę ):
Po skonfigurowaniu środowiska wirtualnego możesz usunąć
Virtualenv
repozytorium.źródło
Na Macu zmień powłokę na BASH (pamiętaj, że wirtualna env działa tylko w powłoce bash)
Bingo, zadziałało. Zobacz monit zmieniony.
W systemie Ubuntu:
Uwaga: monit zmieniony
źródło
Miałem problem z uruchomieniem źródła / bin / aktywacji, a potem zdałem sobie sprawę, że używam tcsh jako powłoki terminalu zamiast bash. po zmianie mogłem aktywować Venv.
źródło
Windows 10
W systemie Windows tworzone są następujące katalogi:
Aby aktywować środowisko wirtualne w systemie Windows 10.
Katalog \ scripts zawiera plik aktywacyjny.
Linux Ubuntu
W Ubuntu tworzone są następujące katalogi:
Aby aktywować środowisko wirtualne w systemie Linux Ubuntu.
Katalog / bin zawiera plik aktywacyjny.
Środowisko wirtualne skopiowane z systemu Windows do systemu Linux Ubuntu i na odwrót
Jeśli folder środowiska wirtualnego został skopiowany z systemu Windows do systemu Linux Ubuntu, to zgodnie z katalogami:
źródło
uruchom ten kod, zostanie on aktywowany, jeśli korzystasz z komputera z systemem Windows
source venv/Scripts/activate
źródło
Prawdopodobnie trochę za późno, by opublikować tutaj swoją odpowiedź, ale mimo to opublikuję, ale może to komuś przynieść korzyść,
Napotkałem ten sam problem,
Głównym powodem jest to, że stworzyłem virtualenv jako użytkownik „root”, ale później próbował aktywować go za pomocą innego użytkownika.
chmod nie będzie działać, ponieważ nie jesteś właścicielem pliku, dlatego alternatywą jest użycie chown (aby zmienić własność)
Na przykład:
Jeśli masz swojego virtualenv utworzonego w / home / abc / ENV
Następnie CD do / home / abc
i uruchom polecenie: chown -Rv [użytkownik-do-kogo-chcesz-zmienić-własność] [folder / nazwa pliku, którego własność należy zmienić]
W tym przykładzie komendy wyglądałyby następująco: chown -Rv abc ENV
Po pomyślnej zmianie własności możesz po prostu uruchomić source /ENV/bin/./activate i powinieneś być w stanie poprawnie aktywować virtualenv.
źródło
1 - otwórz PowerShell i przejdź do folderu aplikacji 2 - wprowadź folder virtualenv np .: cd. \ Venv \ Scripts \ 3 - active virtualenv według typu. \ Aktywuj
źródło