Articles

De Juiste Manier in te Stellen Python op Je Mac

Dirk Avery

Volgen

Jan 15, 2019 · 7 min lezen

Nieuwe versies van Python komen op de reguliere — minstens één keer per maand of zo. Handmatig installeren van nieuwe versies is een pijn en vaak vergeten. Met het handmatige plan, voor je het weet, ben je op Python 2.7.,16 (momenteel de Mac standaard) en de rest van de wereld is verhuisd. Hier gaan we Homebrew gebruiken om updates te automatiseren.

Photo credit: Oziel Gómez

OPMERKING: In dit eigenzinnig verhaal, ik stel voor dat de “juiste” manier van doen Python 3 op macOS is de laatste versie te hebben en om bij te blijven met de frequente updates. Dit is een goede one-size-fits-all oplossing., Echter, als je genuanceerde versiebeheer of meerdere versies van Python nodig hebt, bekijk dan mijn artikel over pyenv: Multiple version Python development on Mac. Als je je Mac helemaal opnieuw instelt, zal mijn artikel Zero To Hero: stel je Mac in voor softwareontwikkeling je door het hele proces begeleiden.

We moeten zien waar u begint om de setup correct te krijgen.

heeft u Homebrew geïnstalleerd?

omdat we Homebrew gebruiken, of brew, moet Python geà nstalleerd worden om Python up-to-date te houden., Open een terminal en ontdek of het geà nstalleerd is door de versie te controleren:

als je zoiets niet ziet en in plaats daarvan zegt Bash , dan moet je Homebrew installeren.

Homebrew installeren

eerst zullen we een beetje van Apple ‘ s Xcode installeren, die Homebrew vereist, en dan Homebrew. Dit zal waarschijnlijk vragen om uw wachtwoord en kan een tijdje duren, afhankelijk van of u al een Xcode componenten geïnstalleerd al.,

$ xcode-select --install

wanneer Xcode is voltooid, zal dit commando Homebrew installeren:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

als alles goed is gegaan, kunt u nu de Homebrew versie controleren:

Stap 2. Handle Non-Homebrew Python

Dit is een optionele stap. Als je behoefte hebt aan meerdere oudere versies van Python, sla deze stap over.

heeft u al een niet-zelfgemaakte Python geïnstalleerd?

Als u Python rechtstreeks hebt gedownload van python.org en gebruikt de installer, Je zult niet-Homebrew Python op uw systeem. De Python zelf is precies hetzelfde., Het is hoe het is geïnstalleerd en bijgewerkt dat verschilt.

Als u een piepklein systeem wilt, kunt u externe Python-installaties verwijderen. Maar, wees voorzichtig! Op een Mac heeft het besturingssysteem de versie van Python nodig die op /usr/bin/pythonwordt bewaard. Je kunt niet veel doen om deze versie-en probeer het niet of je zult verknoeien uw Mac.

echter, Python bevindt zich in, of symbolisch gekoppeld vanaf, /usr/local/bin maakt geen deel uit van de macOS en kan worden verwijderd.

probeer dit commando om te zien waar je bent:

verwijder de oude Pythons

voorzichtig!!, Sommige toepassingen omvatten een versie van Python en, zoals hierboven vermeld, macOS vertrouwt op Python. Zorg ervoor dat u deze Pythons niet verwijdert!

Op mijn systeem had ik Python verschillende keren geïnstalleerd vanuit DMG-installatieprogramma ‘ s op python.org. toen ik overgestapt naar Homebrew Python, ik wilde zich te ontdoen van alle extra Python installaties. Zo heb ik het gedaan.

Verwijder alle symbolische koppelingen in /usr/local/bin die naar Python-gerelateerde bestanden wijzen:

$ sudo rm /usr/local/bin/python*
$ sudo rm /usr/local/bin/pip*

verwijder versies van Python in het Python-kader:

$ sudo rm -Rf /Library/Frameworks/Python.framework/Versions/*

Stap 3., De omgeving instellen

elke eerdere Python-installatie heeft mogelijk uw PATH omgevingsvariabele volgestopt. Laten we dat opruimen.

met Homebrew heb je geen ingewikkeld pad nodig dat naar het Python framework wijst. Voor Basis gebruik van Python is dit alles wat je nodig hebt in je ~/.bash_profile bestand:

export PATH=/usr/local/bin:/usr/local/sbin:${PATH}

Extra Python gereedschappen (bijvoorbeeld Pylint, iSort) worden soms geïnstalleerd in een ander speciaal pad., Het is een goed idee om dat pad ook op te nemen:

export PATH=/usr/local/bin:/usr/local/sbin:${PATH}
export PATH=${PATH}:/Users/<your username>/Library/Python/3.7/bin

voor de meeste Python functies die alles zouden moeten zijn wat je nodig hebt in je PATH.

Stap 4. Installeren Python

Met alle voorbereiding uit de weg, eigenlijk installeren Python wordt heel eenvoudig:

$ brew install python3

Stap 5. Upgrade Python

nu, wanneer je Brew gebruikt om je hele systeem bij te werken, zal Python ook worden bijgewerkt!

$ brew upgrade

als je er gewoon zeker van wilt zijn dat Python up-to-date is, kun je dat ook doen.,

$ brew upgrade python3

Homebrew reageert met een fout als u al up-to-date bent:

Error: python3 3.7.2_1 already installed

Stap 6. Installeer gemeenschappelijke Python-pakketten

afhankelijk van het aantal Python-pakketten dat u gebruikt, kan het installeren en bijwerken van deze pakketten een pijn zijn. Homebrew kan helpen met sommige pakketten.

ten minste moet Pipenv geïnstalleerd zijn:

$ brew install pipenv

voor andere pakketten, Wanneer moet u Homebrew vs. Pip vs. Pipenv gebruiken binnen een virtualenv?, Volg deze handige handleiding:

installeren met behulp van pipenv binnen een project

Als u niet van plan bent om een bepaald Python-pakket over projecten te gebruiken, kunt u het waarschijnlijk het beste installeren met pipenv in de virtualenv van het project.

bijvoorbeeld, als je maar van plan bent om Pyppyn binnen één project te gebruiken (bijv.,, project_dir/), vanuit de virtualenv die u gebruikt tijdens het ontwikkelen van het project, kunt u het pakket installeren met Pip of Pipenv. Ik raad Pipenv aan.

gebruik Pipenv, Maak een nieuwe virtualenv op basis van Python 3 — macOS zal standaard Python 2:

$ cd project_dir/
$ pipenv --three

Start (d.w.z., “activeren”) de virtualenv en installeer het pakket erin:

$ pipenv shell
$ pipenv install pyppyn

Dit pakket, Pyppyn, zal alleen beschikbaar zijn binnen de virtualenv geassocieerd met project_dir/.,

installeren met Pip buiten een virtualenv

Als u wilt dat een pakket beschikbaar is op uw systeem, maar niet wilt dat het automatisch wordt bijgewerkt, of er is geen Homebrew formule, kunt u het installeren met Pip.

bijvoorbeeld, als je Pylint gebruikt om je code te pluizen, over projecten heen, maar er is geen Homebrew formule voor, Installeer het met Pip buiten elke virtualenv.,

Start een nieuwe terminal om er zeker van te zijn dat u niet in een virtualenv bent en installeer:

$ pip3 install pylint

Dit pakket, Pylint, zal beschikbaar zijn op uw systeem, inclusief nieuwe virtualenv ‘ s gemaakt op basis van Python 3.

u bent echter verantwoordelijk voor het up-to-date houden met Pip:

$ pip3 install pylint --upgrade

Install door cron en Pip

te combineren Als u een systeembrede pakket automatisch up-to-date wilt houden, maar er is geen Homebrew formule voor, kunt u eenvoudig crontabgebruiken.,

bijvoorbeeld, als je Pylint wilt gebruiken in je Python projecten en je wilt dat het automatisch up-to-date wordt gehouden, gebruik dan de crontab om het upgrade commando dat we hierboven zagen op een regelmatig schema uit te voeren.

het volgende commando zal de crontab van uw gebruiker bewerken of aanmaken:

$ crontab -e

het commando zal de standaard editor van het systeem openen, die Vim is, als u deze niet hebt gewijzigd.

Als u nog geen crontab had, zult u een leeg bestand zien., Als u al een crontab hebt, zult u uw vorige items zien.

Cron heeft geen toegang tot uw Bash-profiel, dus we zullen ervoor zorgen dat het systeem commando ‘ s kan vinden door de PATHin te stellen.

#!/bin/sh PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

volgende regels zijn crontab-items. Elke regel specificeert een commando en een schema voor het commando., Om bijvoorbeeld Pylint en Homebrew elke dag om respectievelijk 15:40 en 15:35 uur bij te werken, kunt u deze twee regels toevoegen:

40 15 * * * pip3 install pylint --upgrade
35 15 * * * brew upgrade

elke keer dat deze commando’ s worden uitgevoerd, zal het systeem u zorgvuldig een e-mail sturen met de commando ‘ s ‘ stdout. Voeg MAILTO="" toe aan uw crontab voordat u invoert om deze e-mails te onderdrukken. Zie dit handige bericht voor meer informatie over het gebruik van crontab.,

Install Using Homebrew

Als u een pakket wilt gebruiken over projecten heen, wilt u het automatisch updaten, en er is een Homebrew formule voor, gebruik Homebrew!

bijvoorbeeld, als u Flake8 gebruikt om stijl af te dwingen op uw code, in alle projecten, wilt u Flake8 automatisch bijgewerkt, en omdat er een Homebrew formule voor is, kunt u Homebrew gebruiken.

$ brew install flake8

Dit pakket, Flake8, is nu beschikbaar op uw systeem.,

Sommige van de Python pakketten en instrumenten die momenteel beschikbaar zijn via Homebrew zijn de volgende:

  • autopep8
  • zwart
  • vervaagt
  • flake8
  • lorem
  • numpy
  • pipenv
  • pycodestyle
  • pyenv
  • pypy3
  • pyvim
  • tox

Volg ons op Twitter 🐦 en Facebook 👥 en Instagram 📷 en word lid van onze Facebook-en Linkedin-Groepen 💬.,

om deel te nemen aan onze community Slack team chat 🗣 ️ lees onze wekelijkse Faun onderwerpen🗞 ️, en maak verbinding met de community 📣 Klik hier ⬇