Der richtige Weg, Python auf Ihrem Mac einzurichten
Neue Versionen von Python kommen regelmäßig heraus — mindestens einmal im Monat oder so. Die manuelle Installation neuer Versionen ist schmerzhaft und wird oft vergessen. Mit dem manuellen Plan, bevor Sie es wissen, sind Sie auf Python 2.7.,16 (derzeit der Mac-Standard) und der Rest der Welt ist weitergegangen. Hier werden wir Homebrew verwenden, um Updates zu automatisieren.
HINWEIS: In dieser eigenwilligen Geschichte schlage ich vor, dass Python 3 auf macOS die „richtige“ Methode ist, die neueste Version zu haben und bei häufigen Updates auf dem neuesten Stand zu bleiben. Dies ist eine gute one-size-fits-all-Lösung., Wenn Sie jedoch eine nuancierte Versionierung oder mehrere Versionen von Python benötigen, lesen Sie meinen Artikel über pyenv: Multiple version Python development on Mac. Wenn Sie Ihren Mac von Grund auf neu einrichten, führt Sie mein Artikel Zero to Hero: Richten Sie Ihren Mac für die Softwareentwicklung ein und führen Sie durch den gesamten Prozess.
Wir müssen sehen, wo Sie anfangen, um richtig eingerichtet zu werden.
haben Sie Homebrew installiert?
Da wir Homebrew oder brew
, um Python auf dem neuesten Stand zu halten, muss es installiert werden., Öffnen Sie ein Terminal und finden Sie heraus, ob es installiert ist, indem Sie die Version überprüfen:
Wenn Sie so etwas nicht sehen und stattdessen Bash sagt -bash: brew: command not found
, dann müssen Sie Homebrew installieren.
Installieren von Homebrew
Zuerst installieren wir ein bisschen Apples Xcode, den Homebrew benötigt, und dann Homebrew. Dies fragt wahrscheinlich nach Ihrem Passwort und kann eine Weile dauern, je nachdem, ob Sie bereits Xcode-Komponenten installiert haben.,
$ xcode-select --install
Wenn Xcode beendet ist, installiert dieser Befehl Homebrew:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Wenn alles gut gelaufen ist, sollten Sie jetzt in der Lage sein, die Homebrew-Version zu überprüfen:
Schritt 2. Handle Non-Homebrew-Python
Dies ist ein optionaler Schritt. Wenn Sie mehrere ältere Versionen von Python benötigen, überspringen Sie diesen Schritt.
Haben Sie bereits Nicht-Homebrew Python installiert?
Wenn Sie Python direkt von heruntergeladen haben python.org und mit dem Installationsprogramm haben Sie Nicht-Homebrew Python auf Ihrem System. Die Python selbst ist genau die gleiche., Es ist, wie es installiert und aktualisiert wird, die sich unterscheidet.
Wenn Sie ein quietschbereinigtes System möchten, können Sie fremde Python-Installationen entfernen. Aber sei vorsichtig! Auf einem Mac benötigt das Betriebssystem die Python-Version unter /usr/bin/python
. Sie können dieser Version nicht viel antun — und versuchen Sie es nicht, sonst vermasseln Sie Ihren Mac.
Python befindet sich jedoch in /usr/local/bin
oder ist symbolisch von /usr/local/bin
nicht Teil des macOS und kann gelöscht werden.
Probieren Sie diesen Befehl aus, um zu sehen, wo Sie sich befinden:
Entfernen Sie die alten Pythons
Vorsicht!!, Einige Anwendungen enthalten eine Version von Python und wie oben erwähnt, ist macOS auf Python angewiesen. Achten Sie darauf, diese Pythons nicht zu löschen!
Auf meinem System hatte ich Python mehrmals von DMG-Installateuren installiert python.org. Als ich zu Homebrew Python wechselte, wollte ich alle zusätzlichen Python-Installationen loswerden. So habe ich es gemacht.
Entfernen Sie alle symbolischen Links in /usr/local/bin
, die auf Python-verwandte Dateien verweisen:
$ sudo rm /usr/local/bin/python*
$ sudo rm /usr/local/bin/pip*
Entfernen Sie Python-Versionen im Python-Framework:
$ sudo rm -Rf /Library/Frameworks/Python.framework/Versions/*
Schritt 3., Richten Sie die Umgebung ein
Alle vorherigen Python-Installationen haben möglicherweise Ihre Umgebungsvariable PATH
überladen. Lass uns das aufräumen.
Mit Homebrew benötigen Sie keinen komplizierten Pfad, der auf das Python-Framework verweist. Für die grundlegende Python-Verwendung ist dies alles, was Sie in Ihrer ~/.bash_profile
– Datei benötigen:
export PATH=/usr/local/bin:/usr/local/sbin:${PATH}
Manchmal werden zusätzliche Python-Tools (z. B. Pylint, iSort) in einem anderen speziellen Pfad installiert., Es ist eine gute Idee, diesen Pfad ebenfalls einzuschließen:
export PATH=/usr/local/bin:/usr/local/sbin:${PATH}
export PATH=${PATH}:/Users/<your username>/Library/Python/3.7/bin
Für die meisten Python-Funktionen sollte dies alles sein, was Sie in Ihrer PATH
.
Schritt 4. Installieren Sie Python
Mit der ganzen Vorbereitung wird die Installation von Python sehr einfach:
$ brew install python3
Schritt 5. Aktualisieren Sie Python
Jetzt, wenn Sie Brew verwenden, um Ihr gesamtes System zu aktualisieren, wird Python auch aktualisiert!
$ brew upgrade
Wenn Sie nur sicherstellen möchten, dass Python auf dem neuesten Stand ist, können Sie dies auch tun.,
$ brew upgrade python3
Homebrew antwortet mit einem Fehler, wenn Sie bereits auf dem neuesten Stand sind:
Error: python3 3.7.2_1 already installed
Schritt 6. Installieren Sie gängige Python-Pakete
Je nachdem, wie viele Python-Pakete Sie verwenden, kann die Installation und Aktualisierung von allen ein Schmerz sein. Homebrew kann bei einigen Paketen helfen.
Mindestens sollten Sie Pipenv installiert haben:
$ brew install pipenv
Wann sollten Sie Homebrew vs. Pip vs. Pipenv in einem virtualenv verwenden?, Befolgen Sie diese praktische Anleitung:
Installieren Sie Pipenv innerhalb eines Projekts
Wenn Sie sie planen nicht, ein bestimmtes Python-Paket projektübergreifend zu verwenden, sondern installieren es wahrscheinlich am besten mit Pipenv im Virtualenv des Projekts.
Zum Beispiel, wenn Sie Pyppyn nur in einem Projekt verwenden möchten (z.,, project_dir/
), aus dem virtualenv, das Sie während der Entwicklung des Projekts verwenden, können Sie das Paket entweder mit Pip oder Pipenv installieren. Ich empfehle Pipenv.
Erstellen Sie mit Pipenv ein neues virtualenv basierend auf Python 3 — macOS verwendet standardmäßig Python 2:
$ cd project_dir/
$ pipenv --three
Starten (dh „aktivieren“) Sie das virtualenv und installieren Sie das Paket darin:
$ pipenv shell
$ pipenv install pyppyn
Dieses Paket, Pyppyn, ist nur innerhalb des virtualenv verfügbar, das mit project_dir/
.,
Installieren Mit Pip Außerhalb von virtualenv
Wenn Sie möchten, dass ein Paket auf Ihrem system, aber nicht wollen, dass es die Aktualisierung automatisch, oder es gibt keine Homebrew-Formel, können Sie die Installation mit Pip.
Wenn Sie beispielsweise Pylint verwenden, um Ihren Code projektübergreifend zu linten, es jedoch keine Homebrew-Formel dafür gibt, installieren Sie ihn mit Pip außerhalb von virtualenv.,
Starten Sie ein neues Terminal, um sicherzustellen, dass Sie sich nicht in einem virtualenv befinden, und installieren Sie:
$ pip3 install pylint
Dieses Paket Pylint ist auf Ihrem gesamten System verfügbar, einschließlich neuer virtualenvs, die basierend auf Python 3 erstellt wurden.
Sie sind jedoch dafür verantwortlich, es mit Pip auf dem neuesten Stand zu halten:
Installieren Sie es, indem Sie Cron und Pip kombinieren
Wenn Sie ein systemweites Paket automatisch auf dem neuesten Stand halten möchten, aber keine Homebrew-Formel dafür vorhanden ist, können Sie einfach crontab
.,
Wenn Sie beispielsweise Pylint in Ihren Python-Projekten verwenden möchten und diese automatisch auf dem neuesten Stand halten möchten, verwenden Sie die crontab
um den oben beschriebenen Upgrade-Befehl regelmäßig auszuführen.
Mit dem folgenden Befehl wird die Crontab Ihres Benutzers bearbeitet oder erstellt:
$ crontab -e
Der Befehl öffnet den Standardeditor des Systems, der Vim ist, wenn Sie ihn nicht geändert haben.
Wenn Sie noch keine crontab
, wird eine leere Datei angezeigt., Wenn Sie bereits eine crontab
haben, werden Ihre vorherigen Einträge angezeigt.
Cron hat keinen Zugriff auf Ihr Bash-Profil, daher stellen wir sicher, dass das System Befehle finden kann, indem Sie die PATH
.
#!/bin/sh PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
die folgenden Zeilen sind crontab-Einträge. Jeder Eintrag gibt einen Befehl und einen Zeitplan für den Befehl an., Um beispielsweise Pylint und Homebrew jeden Tag um 15:40 bzw. 15:35 Uhr zu aktualisieren, können Sie diese beiden Einträge hinzufügen:
40 15 * * * pip3 install pylint --upgrade
35 15 * * * brew upgrade
Jedes Mal, wenn diese Befehle ausgeführt werden, sendet Ihnen das System nachdenklich eine E-Mail mit den Befehlen‘ stdout. Fügen Sie MAILTO=""
zu Ihrer crontab
vor Ihren Einträgen hinzu, um diese E-Mails zu unterdrücken. In diesem hilfreichen Beitrag finden Sie weitere Details zur Verwendung von Crontab.,
Installieren Mit Homebrew
Wenn Sie möchten, dass ein Paket benutzen, über Projekte, Sie wollen, dass es automatisch aktualisiert wird, und es gibt eine Homebrew-Formel für Sie, verwenden Sie Homebrew!
Wenn Sie beispielsweise Flake8 verwenden, um den Stil Ihres Codes projektübergreifend zu erzwingen, möchten Sie Flake8 automatisch aktualisieren, und da es eine Homebrew-Formel dafür gibt, können Sie Homebrew verwenden.
$ brew install flake8
Dieses Paket, Flake8, ist jetzt auf Ihrem gesamten System verfügbar.,
Einige der Python-Paketen und tools, die derzeit verfügbar über Homebrew gehören die folgenden:
- autopep8
- schwarz
- fades
- flake8
- lorem
- numpy
- pipenv
- pycodestyle
- pyenv
- pypy3
- pyvim
- tox
Folgen Sie uns auf Twitter 🐦 und Facebook 👥 und Instagram 📷 und treten Sie unserer Facebook-und Linkedin-Gruppen 💬.,
Um unserer Community beizutreten Slack Team Chat 🗣️ Lesen Sie unsere wöchentlichen Faun-Themen 🗞 ️ und verbinden Sie sich mit der Community 📣 Klicken Sie hier⬇