Oikea ja väärä tapa perustaa Python 3 MacOS
I”ve ollut kastamalla minun toe takaisin Python-kehitystä, kun saan valmis pää PyCon MEILLE. (Jos olet menossa sinne myös ja haluat jakaa Python tarina, kerro minulle!) Kun asensin moduulin tinker noin, sain muistutus siitä, että minun piti asentaa Python 3 pian.
$ pip install todoist-python
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won"t be maintained after that date. A future version of pip will drop support for Python 2.7.
Niin, tein mitä piti tehdä ja googlasin ympäri etsivät opas päivittää kehitysympäristö, joka toimii Mac (macOS-käyttöjärjestelmä, joka tunnettiin aiemmin nimellä OS X)., Yllätyksekseni löysin vain kourallisen StackOverflow-tolppia, ja ne viittasivat osittaisiin ratkaisuihin. Tässä ” on koko tarina siitä, miten perustaa ympäristö rikkomatta mitään rakennettu macOS käyttöjärjestelmä.
1. Asenna pyenv
Moshe Zadka varoittaa, että teet tämän väärin voi johtaa epäluotettavia ajatus, joka Python on käynnissä se riippuu liian tiiviisti kuoret lastaus aliaksia. Tiesin, Moshe oli perehtynyt Python, mutta mitä en”t tiedä, että hän on kirjoittanut monia Python tutorials sekä tuleva kirja Python kehityksen macOS., Hän auttoi 40 kollegansa kehittää Python turvallisesti ja johdonmukaisesti macOS-järjestelmissä seuraavat yksi keskeinen periaate:
”perus lähtökohta kaikkien Python-kehitystä on koskaan käyttää järjestelmää Python. Et halua Mac OS X ”oletus Python” olla ” python3.”Et halua koskaan välittää oletuspytonista.”
Miten voimme lakata välittämästä oletuksena? Moshe suosittelee käyttämään pyenv: tä Python-ympäristöjen hallintaan (syvempään sukellukseen pyenv: n määrittämisessä, katso tämä artikkeli)., Tämä työkalu hallinnoi useita versioita Python ja on kuvattu ”yksinkertainen, huomaamaton, ja seuraa Unix perinne single-purpose työkalut, jotka tekevät yhden asian hyvin.”
Kun taas muut asennus vaihtoehdot ovat käytettävissä, helpoin tapa päästä alkuun on Homebrew:
$ brew install pyenv
🍺 /usr/local/Cellar/pyenv/1.2.10: 634 files, 2.4MB
Asenna Python
Nyt anna”s asenna uusin Python-versio (3.7.,3 tätä kirjoitettaessa):
Aseta global default
Nyt, että Python 3 on asennettu kautta pyenv, me haluamme asettaa sen globaalin default version pyenv ympäristöissä:
$ pyenv global 3.7.3
# and verify it worked
$ pyenv version
3.7.3 (set by /Users/mbbroberg/.pyenv/version)
virta pyenv tulee sen valvoa meidän shell”s polku. Jotta se toimisi oikein, meidän täytyy lisätä seuraavat meidän configuration file (.zshrc minulle, mahdollisesti .bash_profile sinulle):
– komennon Jälkeen, meidän dotfile (.zshrc zsh: lle tai .,bash_profile varten Bash) tulisi sisällyttää nämä rivit:
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
Nyt me tiedämme varmasti, että me”re käyttäen Python 3.7.3 ja pip päivittää sen rinnalla ilman manuaalisia aliasing versioiden välillä. Käyttämällä Moshe”s suosituksen käyttää version manager (pyenv) avulla voimme helposti hyväksyä tulevaisuudessa päivityksiä ilman saada hämmentynyt jossa Python-meillä on käynnissä kerrallaan.
Menestys
Kun saat mukava kanssa tämän työnkulun, voit käyttää pyenv hallita useita versioita Python. Riippuvuuden hallinnan kannalta on myös tärkeää käyttää virtuaaliympäristöjä., Mainitsen artikkelissa, Miten venv-kirjastossa rakennettua käytetään, ja Moshe suosittelee virtualenvwrapperia virtuaaliympäristöjen hallintaan.
Ymmärrystä Python runtimes
Nyt sinulla on Python versiot kiinteä, se”s turvallista tutkia, miksi tämä ongelma hämmentää niin monet ihmiset.
Pythonin versio, joka toimitetaan macOS: n kanssa, on selvästi vanhentunut siitä, mitä Python suosittelee käyttämään kehittämiseen. Python runtimesin pohtiminen voi olla ajoittain koomisen haastavaa, kuten xkcd toteaa.,
monilla käyttäjillä on tietokoneellaan jo kymmeniä Python-tulkkeja, mutta heillä ei ole hajuakaan, miten niitä voisi hallita tehokkaasti. Liian usein ihmiset vain ladata uusin Python julkaisu, siirrä se niiden tiellä, ja kutsua sitä päivä (tai käytä hautua asentaa python3, joka tekisi jotain vastaavaa). Tämä voi aiheuttaa katkoksia linjan turhauttavia tapoja, jotka voivat olla vaikea vianmääritys.,
Mitä EI pidä tehdä
ensimmäinen ajatus siitä, miten tehdä Python 3 oletuksena Python minun järjestelmä oli siirtää vanha versio ja lisää uusi yksi:
kuvio seurasi mitä /usr/bin/ ei yleensä välillä pääversioita Python, mutta olen nopeasti oppinut, että se oli vikatikki:
$ sudo mv /usr/bin/python /usr/bin/python2
mv: rename /usr/bin/python to /usr/bin/python2: Operation not permitted
– Onneksi macOS suojattu minua rikkomatta jotain mitä en”t täysin ymmärrä. Lisätutkimukset osoittavat, että juuri tätä meidän ei pitäisi tehdä.
Toinen asia ei yritä
Nyt tiedämme, mitä ei tehdä, anna”s tarkastella, mitä voisimme tehdä., On olemassa pari vaihtoehtoa, kun ajattelemme macOS-sovellusten yhteisiä asennuskuvioita.
Käytä Python 3 macOS default
Python”n verkkosivuilla on macOS Python 3 installer voimme ladata ja käyttää. Jos käytämme paketti asennus, python3 täyttää on saatavilla /usr / local / bin/.
Aliasing on välttämätöntä, sillä Python-binary tallennettu /usr/bin/ voi”t olla muuttunut. Hienoa peitenimessä on se, että se liittyy komentorivimme komentoriviin. Koska käytän zsh oletuksena, laitan seuraavat osaksi .,zshrc-tiedosto:
Jos käytät oletuksena Bash, voit liittää tämän saman tekstin .bashrc:
Tämä strategia toimii, mutta se ei”t ihanteellinen tehdä tulevaisuudessa päivityksiä Python. Se tarkoittaa, että meidän täytyy muistaa tarkistaa sivuston ja ladata uusia tiedostoja, koska Python ei”t ovat komentorivin tapa päivittää.
On Homebrew hallita Python 3
Homebrew-hanke tarjoaa ilmainen ja avoimen lähdekoodin paketti manager for macOS, että monet ihmiset luottavat. Se antaa Applen käyttäjille samanlaisen tehon kuin apt-get tai yum., Jos olet Homebrew-käyttäjä,saatat jo asentaa Pythonin. Jos Python ilmestyy komennon alle, se asennetaan nopeasti tarkistettavaksi:
$ brew list | grep python
python
. Mikä versio se on? Let ” s check:
Okay, great! Homebrew ylläpitäjät ovat päivittäneet oletus Python-pullon osoittaakseen uusimman julkaisun., Koska Homebrew ylläpitäjät ovat enemmän luotettava päivittää julkaisu kuin useimmat meistä, voimme käyttää Homebrew”s versio Python 3 seuraavalla komennolla:
Nyt haluamme kohta meidän alias (ylhäältä) copy of Python, että Homebrew onnistuu:
# If you added the previous alias, use a text editor to update the line to the following
alias python=/usr/local/bin/python3
varmista, Että polku ennen pistettä, jossa Homebrew asentaa Python ympäristössä, voimme ajaa hautua info python ja etsiä polku tiedot.,
Tämä menetelmä, käyttää Homebrew hallita Python-ympäristö, on hyvä lähtöpaikalle, ja se oli järkevää minulle tuolloin.
entä jos tarvitsemme vielä Python 2: n?
on järkevää, että kuka tahansa Pythonille Uusi aloittaa Python 3: lla., Mutta ne meistä, jotka vielä Python 2—esimerkiksi, edistää Python projekti, joka”s saatavilla vain Python 2—voi edelleen käyttää oletuksena macOS Python binary saatavilla /usr/bin/python:
$ /usr/bin/python
>>> print("This runtime still works!")
This runtime still works!
Homebrew on niin ihana, se jopa tarjoaa eri kaava Python 2:
# If you need Homebrew"s Python 2.7 run
$ brew install python@2
Milloin tahansa, voimme poistaa aliakset meidän shell”s configuration file mennä takaisin käyttäen oletuksena kopio Python-järjestelmään.
älä unohda päivittää pipiä pip3: een!,
pip-komento on erityisesti Python-pakettien oletuspakettihallinta. Vaikka muutimme oletuksena Python-komento on versio 3, meidän täytyy alias meidän pip komento erikseen, jos se”s edelliseen versioon. Ensinnäkin, meidän täytyy tarkistaa, mikä versio meidän”re:
varmistetaan, me”uudelleen asentamista paketteja yhteensopiva meidän uuden version Python, me”ll käyttää toista alias viitata yhteensopiva versio pip. Koska ” re käyttää Homebrew kuin meidän paketti manager tässä tilanteessa, tiedämme, että se asennettu pip3, kun asennimme Python 3., Oletuksena polku pitäisi olla sama kuin Python 3, mutta emme voi vahvistaa tätä kysymällä kuori löytää se:
$ which pip3
/usr/local/bin/pip3
Nyt kun tiedämme, sijainti, me lisäämme sen meidän kuori kokoonpano-tiedosto, kuten teimme ennen.
$ echo "alias pip=/usr/local/bin/pip3" >> ~/.zshrc
# or for Bash
$ echo "alias pip=/usr/local/bin/pip3" >> ~/.bashrc
Viime, voimme vahvistaa, että käynnissä pip pistettä pip3 avaamalla uusi kuori tai nollaamalla meidän nykyinen kuori ja nähdä, mitä meidän kohta:
# This command reloads the current shell without exiting the session
# Alternatively, exit the shell and start a new one
$ exec $0
# Now we can look to see where pip points us
$ which pip
pip: aliased to /usr/local/bin/pip3
Emme voi välttää käyttämällä Homebrew päivittää pip, mutta se vaatii paljon pitemmän opetusohjelma Python dokumentointi.,
Tee se heti alusta alkaen
Jos olet juuri aloittanut Python kehitystä macOS, tehdä tarvittavat konfiguraatiot varmista, että olet”re käyttäen oikean version Python alusta alkaen. Asentaminen Python 3, kanssa tai ilman Homebrew, ja käyttämällä alias voit aloittaa koodaus, mutta se”ei ole hyvä strategia pitkällä aikavälillä. Pyenv: n käyttäminen yksinkertaisena versionhallintaratkaisuna, jolla pääset hyvään alkuun.
Tämä artikkeli on julkaistu alun perin toukokuussa 2019 ja päätoimittaja on päivittänyt sen.