Cum se instalează și se configurează virtualenv
și virtualenvwrapper
pentru Python
pe OSX
?
- Care este întrebarea dumneavoastră? – > Por phd.
- Ei bine, am vrut să creez o postare care să fie ea însăși un răspuns pentru a împărtăși cunoștințe, nu-i așa că așa se face? – > Por Stan Redoute.
- Nu, StackOverflow nu este un blog de găzduire ;-), este un site de întrebări și răspunsuri. Dacă nu vrei ca întrebarea ta să fie închisă și eliminată cu rezoluția „Unclear what you are asking”, ar fi bine să-ți împarți postul într-o întrebare și un răspuns separat (poți răspunde la propriile întrebări). – > Por phd.
- @phd se va face, mulțumesc! – > Por Stan Redoute.
Pentru a instala virtualenv
și virtualenvwrapper
pentru o utilizare repetitivă aveți nevoie de un sistem configurat corect Python
(acest exemplu folosește Python 3.x
dar procesul este identic pentru Python 2.x
).
Deși puteți obține python
programul de instalare de pe site-ul Python vă sfătuiesc cu tărie să nu o faceți. Cea mai convenabilă și mai sigură pentru viitor metodă de a instala Python
pe MacOS
este brew.
Principala diferență între programul de instalare de pe site-ul Python și brew
este că programul de instalare pune python
pachetele în:
/Library/Frameworks/Python.framework/Versions/3.x
Brew
pe de altă parte instalează Python
, Pip
& Setuptools
și pune totul în:
/usr/local/bin/python3.x/site-packages
Și, deși s-ar putea să nu facă nicio diferență pentru dvs. acum – o va face mai târziu.
Etapele de configurare
- Instalați
brew
Verificați brew
pagina de instalare sau pur și simplu rulați acest lucru în terminal:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Instalați
Python
Pentru a instala python
cu brew
executați:
brew install python3
Acum, sistemul trebuie să știe unde să caute fișierele proaspăt instalate. Python
pachete nou instalate. Adăugați această linie la pagina dvs. ~/.zshrc
(sau ~/.bash_profile
dacă folosiți bash
):
export PATH=/usr/local/share/python:$PATH
Reporniți terminalul.Pentru a vă asigura că ați făcut totul corect rulați which python3
și în schimb ar trebui să primiți /usr/local/bin/python
.
- Instalați
virtualenv
&virtualenvwrapper
Acum este timpul să instalați virtualenv
și virtualenvwrapper
pentru a putea utiliza workon
comanda și să comutați între mediile virtuale. Acest lucru se face folosind pip
:
pip3 install virtualenv virtualenvwrapper
- Set up
virtualenv
variabile
Definiți o cale implicită pentru mediile dvs. virtuale. De exemplu, puteți crea un director ascuns în interiorul ~
și să îl numiți .virtualenvs
cu mkdir ~/.virtualenvs
. Adăugați virtualenv
variabile la .zshrc
(sau .bash_profile
).
Versiunea finală a fișierului dvs. .zshrc
(sau .bash_profile
) trebuie să conțină aceste informații pentru a funcționa corect cu pachetele instalate:
# Setting PATH for Python 3 installed by brew
export PATH=/usr/local/share/python:$PATH
# Configuration for virtualenv
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Reporniți terminalul. Ar trebui să puteți utiliza mkvirtualenv
și workon
inclusiv autocompletarea.
Iată un mic sfat despre cum să creați virtualenv cu o anumită versiune de Python.
În cazul în care utilizați
MacOS Mojave
și instalațiPython3.6
din brew bottle s-ar putea să aveți o problemă cupip
, aici‘s asoluție care ar putea ajuta.
Cu timpul, unii dintre voi ar putea dori să instaleze mai multe Python
versiuni cu mai multe medii virtuale pentru fiecare versiune. În acest caz pyenv și pyenv-virtualenv intră în joc.
- Soluție și explicație perfectă. Inițial am instalat Python 3.6 folosind programul de instalare, dar am constatat că a fost o mare bătaie de cap – aș recomanda să folosiți și Homebrew. – > .
- Se pare că brew-instalat
python3
s-ar putea să nu pună pachetele Python acolo unde se așteaptă acest răspuns. De labrew install python
am obținut: „` … Puteți instala pachetele Python cu pip3 install <package> Acestea se vor instala în directorul site-package /usr/local/lib/python3.8/site-packages … „` – > . - @Michael Nu m-am gândit că cineva va verifica calea completă către pachetele site-ului, așa că, în ceea ce privește comentariul tău, am concatenat partea lipsă din calea în care sunt instalate pachetele. – > .
Rulez macOS 10.15.7
Am urmat documentația oficială până la aici
și îl schimb în
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenv
# source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenvwrapper.sh
în cazul tău încearcă să rulezi which virtualenv
sau which python
pentru a obține căile exacte
această soluție funcționează și pentru versiunea 11.1
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV=/Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenv
# source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/3.8/bin/virtualenvwrapper.sh
Soluția lui Stan a necesitat o modificare diferită a .bash_profile pentru mine:(macOS Catalina & Python 3.6) Asigurați-vă că schimbați calea versiunii din „…./3.6/…” la versiunea dvs. Puteți utiliza comanda „which python3” pentru a afla calea python și „which virtualenv” pentru calea virtualenv
### BEGIN: for virtualenvwrapper #########################
# Setting PATH for Python 3 installed by brew
# commented the Python path because I have already had that, you might have too.
# PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3:${PATH}"
# export PATH
# Configuration for virtualenv
WORKON_HOME="${HOME}/.virtualenvs"
export WORKON_HOME
VIRTUALENVWRAPPER_PYTHON="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3"
export VIRTUALENVWRAPPER_PYTHON
VIRTUALENVWRAPPER_VIRTUALENV="/Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenv"
export VIRTUALENVWRAPPER_VIRTUALENV
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
### END: for virtualenvwrapper #########################
- Din fragmentul pe care l-ați furnizat se pare că ați instalat
python
cuinstaller
mai degrabă decâtbrew
, astfel încât acesta este motivul pentru care ați avut nevoie de o altă opțiunepath
lapython
executabil. – > .