Ponieważ właśnie przeszedłem przez przeciąganie, spróbuję napisać odpowiedź, której życzyłem sobie dwie godziny temu. To jest dla ludzi, którzy nie chcą tylko rozwiązania kopiuj i wklej
Po pierwsze: czy zastanawiasz się, dlaczego kopiowanie i wklejanie ścieżek działa dla niektórych osób, a nie działa dla innych? ** Głównym powodem różnic w rozwiązaniach są różne wersje Pythona, 2.x lub 3.x. W rzeczywistości istnieją różne wersje virtualenv i virtualenvwrapper, które współpracują z Pythonem 2 lub 3. Jeśli korzystasz z Pythona 2, zainstaluj w następujący sposób:
sudo pip install virutalenv
sudo pip install virtualenvwrapper
Jeśli planujesz używać Pythona 3, zainstaluj powiązane wersje Pythona 3
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
Pomyślnie zainstalowałeś pakiety dla swojej wersji Pythona i wszystko gotowe, prawda? Cóż, spróbuj. Wpisz workon
w terminalu. Twój terminal nie będzie mógł znaleźć polecenia ( workon
jest to polecenie virtualenvwrapper). Oczywiście, że nie. Workon
jest plikiem wykonywalnym, który będzie dostępny tylko po załadowaniu / źródle pliku virtualenvwrapper.sh
. Ale w oficjalnym przewodniku instalacji omówiłeś to, prawda? Po prostu otwórz swój .bash_profile i wstaw następujące, jak jest napisane w dokumentacji:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
Szczególnie polecenie source /usr/local/bin/virtualenvwrapper.sh
wydaje się pomocne, ponieważ wydaje się, że ładuje / tworzy żądany plik, virtualenvwrapper.sh
który zawiera wszystkie polecenia, z którymi chcesz pracować, takie jak workon
i mkvirtualenv
. Ale tak, nie. Kiedy po oficjalnej instrukcji instalacji, jest bardzo prawdopodobne, aby otrzymać ten błąd z początkowego postu: mkvirtualenv: command not found
. Nadal nie znaleziono polecenia i nadal jesteś sfrustrowany. Więc jaki jest problem? Problem polega na tym, że virtualenvwrapper.sh nie jest tam, gdzie go teraz szukasz. Krótkie przypomnienie ... szukasz tutaj:
source /usr/local/bin/virtualenvwrapper.sh
Ale istnieje dość prosty sposób na znalezienie żądanego pliku. Po prostu wpisz
which virtualenvwrapper
do twojego terminala. Spowoduje to wyszukanie pliku w PATH , ponieważ jest bardzo prawdopodobne, że znajduje się on w jakimś folderze zawartym w PATH systemu.
Jeśli twój system jest bardzo egzotyczny, żądany plik ukryje się poza folderem PATH. W takim przypadku możesz znaleźć ścieżkę virtalenvwrapper.sh
za pomocą polecenia powłokifind / -name virtualenvwrapper.sh
Twój wynik może wyglądać mniej więcej tak: /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
Gratulacje. You have found your missing file!
. Teraz wszystko, co musisz zrobić, to zmienić jedno polecenie w swoim .bash_profile. Po prostu zmień:
source "/usr/local/bin/virtualenvwrapper.sh"
do:
"/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh"
Gratulacje. Virtualenvwrapper działa teraz w twoim systemie. Ale możesz zrobić jeszcze jedną rzecz, aby ulepszyć swoje rozwiązanie. Jeśli znalazłeś plik virtualenvwrapper.sh
za pomocą polecenia which virtualenvwrapper.sh
, wiesz, że znajduje się on w folderze PATH. Więc jeśli po prostu wpiszesz nazwę pliku, twój system plików przyjmie, że plik znajduje się w folderze PATH. Nie musisz więc pisać pełnej ścieżki. Wystarczy wpisać:
source "virtualenvwrapper.sh"
Otóż to. Nie jesteś już sfrustrowany. Rozwiązałeś swój problem. Ufnie.
WORKON_HOME
na „~ / .virtualenvs” ( wartość domyślna ) pozwala na ustawienie prywatnych virtualenvs