Ich verwende Mountain Lion und die Standardversion von Python ist 2.7. Ich habe Python 3.3 heruntergeladen und möchte es als Standard festlegen.
Zur Zeit:
$ python
version 2.7.5
$ python3.3
version 3.3
Wie stelle ich es so ein, dass es bei jedem Start $ python
3.3 öffnet?
python
python-3.x
macos
install
Marcus
quelle
quelle
pyenv
.Antworten:
Das systemweite Ändern der Standardversion der ausführbaren Python-Datei kann einige Anwendungen beschädigen, die von python2 abhängen.
Sie können jedoch die Befehle in den meisten Shells aliasen, da die Standard-Shells in macOS (bash in 10.14 und darunter; zsh in 10.15) eine ähnliche Syntax aufweisen. Sie könnten den Alias python = 'python3' in Ihre Zeile einfügen
~/.profile
und dann~/.profile
in Ihre~/.bash_profile
und / oder Ihre~/.zsh_profile
mit einer Zeile wie der folgenden eingeben :Auf diese Weise funktioniert Ihr Alias über Shells hinweg.
Damit wird der
python
Befehl jetzt aufgerufenpython3
. Wenn Sie gelegentlich die "ursprüngliche" Python (die sich auf Python2 bezieht) aufrufen möchten , können Sie diese verwendencommand python
, wodurch der Alias unberührt bleibt und in allen Shells funktioniert.Wenn Sie Dolmetscher häufiger starten (ich auch) , können Sie immer weitere Aliase erstellen, die ebenfalls hinzugefügt werden können, z.
Tipp: Für Skripte anstelle eines Shebangs wie:
verwenden:
Auf diese Weise verwendet das System python3 zum Ausführen von ausführbaren Python- Dateien .
quelle
alias python=python3
und Laufenpython
in meinem Terminal auf osx el capitan hat bei mir nicht funktioniert. Es wurde versucht, sowohl ~ / .bash_aliases als auch ~ / .bash_profile zu speichern.source ~/.bash_profile
nach der Bearbeitung der~/.bash_profile
Datei ausführen .alias pip='pip3.6'
Sie können es durch symbolischen Link lösen.
quelle
unlink
anstelle von verwendenrm
, um Symlinks zu entfernen (wenn Sie versehentlich einen abschließenden Schrägstrich hinzufügen,rm
kann dies zu schlechten Ergebnissen führen). Alternativ können Sie auchln -s -f ...
den aktuellen Symlink überschreiben.python
zu seinpython2.7
?unlink: /usr/bin/python: Operation not permitted
ln -s...
mit/local/
) auszuführen .Öffnen Sie die Datei ~ / .bash_profile .
Setzen Sie dann den Alias wie folgt:
Speichern Sie nun die Datei und führen Sie die Datei ~ / .bash_profile aus .
Glückwunsch !!! Jetzt können Sie python3 verwenden, indem Sie python eingeben .
Python 3.7.3
quelle
source ~/.bash_profile
jedes Mal , wenn ich mein Terminal wieder öffne? Sobald ich das Terminal schließe und wieder öffne, wird es auf python2 zurückgesetzt.Gehen Sie zum Terminaltyp:
Dadurch wird Standardpython als python3.x eingerichtet
quelle
Folgendes hat bei mir funktioniert
quelle
Ich bin etwas spät dran, aber ich dachte, ich sollte eine aktualisierte Antwort posten, da ich gerade auf dieses Problem gestoßen bin. Bitte beachten Sie, dass dies nur für ein Mac-basiertes Setup gilt (ich habe es nicht mit Windows oder Linux ausprobiert).
Der einfachste Weg, dies zum Laufen zu bringen, ist die Installation von Python über Brew . Wenn Sie kein Gebräu installiert haben, müssen Sie dies zuerst tun. Führen Sie nach der Installation am Terminal die folgenden Schritte aus:
Dadurch wird Python 3 installiert. Führen Sie nach der Installation Folgendes aus:
Sie sehen alle von Brew erstellten Links zu seiner Python-Installation. Es wird ungefähr so aussehen:
Die erste Zeile in diesem Beispiel zeigt den
python3
Symlink.python
Führen Sie Folgendes aus, um es als Standard- Symlink festzulegen:Einmal eingestellt, können Sie Folgendes tun:
und es sollte zeigen:
Sie müssen Ihre aktuelle Terminal-Shell neu laden, damit sie den neuen Symlink in dieser Shell verwendet. Alle neu geöffneten Shell-Sitzungen werden sie jedoch automatisch verwenden (sollten). Um dies zu testen, öffnen Sie eine neue Terminal-Shell und führen Sie Folgendes aus:
quelle
Gehen Sie zu 'Anwendungen', geben Sie den Ordner 'Python' ein. Es sollte ein Bash-Skript mit dem Namen 'Update Shell Profile.command' oder ähnlichem vorhanden sein. Führen Sie das Skript aus und es sollte es tun.
Update: Sie sollten es anscheinend nicht aktualisieren: Wie ändere ich die Standard-Python-Version?
quelle
Das hat bei mir funktioniert. Ich habe einen Alias hinzugefügt und mein Terminal neu gestartet :
quelle
Ich glaube, die meisten Leute, die hier gelandet sind, benutzen ZSH durch iterm oder was auch immer, und das bringt Sie zu dieser Antwort .
Sie müssen
~/.zshrc
stattdessen Ihre Befehle hinzufügen / ändern .quelle
Ich bin nicht sicher, ob dies unter OS X verfügbar ist, aber unter Linux würde ich den
module
Befehl verwenden. Siehe hier .Richten Sie die Moduldatei korrekt ein und fügen Sie Ihrer RC-Datei so etwas hinzu (z. B. ~ / .bashrc):
Auf diese Weise werden Ihre Pfade bei der Anmeldung nach Bedarf umgeschaltet, ohne dass dies Auswirkungen auf die Systemstandards hat.
quelle
Ich denke, wenn Sie Python installieren, werden Exportpfadanweisungen in Ihre ~ / .bash_profile-Datei eingefügt. Wenn Sie Python 2 nicht mehr verwenden möchten, können Sie diese Anweisung einfach von dort entfernen. Alias wie oben angegeben ist auch eine großartige Möglichkeit, dies zu tun.
So entfernen Sie die Referenz aus ~ / .bash_profile - vim ./.bash_profile - entfernen Sie die Referenz (AKA etwa: export PATH = "/ Users / bla / anaconda: $ PATH") - speichern und beenden - source ./ .bash_profile, um die Änderungen zu speichern
quelle
erledigt.
quelle
Die richtige und falsche Methode, um Python 3 auf einem Mac als Standard festzulegen
In diesem Artikel beschreibt der Autor drei Möglichkeiten zum Festlegen von Standardpython:
All diese Wege funktionieren. Sie entscheiden, was besser ist.
quelle
Wenn Sie a verwenden
virtualenvwrapper
, können Sie es einfach mit suchen, eswhich virtualenvwrapper.sh
dann mitvim
einem anderen Editor öffnen und dann Folgendes ändernÄndern Sie die Zeile
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
inVIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
.quelle
Für mich bestand die Lösung darin, PyCharm zu verwenden und die Standard-Python-Version auf die zu setzen, mit der ich arbeiten muss.
Installieren Sie PyCharm und gehen Sie zu Datei ==> Einstellungen für neues Projekt. Wählen Sie dann den gewünschten Interpreter für Ihre Projekte aus, in diesem Fall Python 3.3
quelle
Wenn Sie Macports verwenden, müssen Sie nicht mit Aliasnamen oder Umgebungsvariablen spielen. Verwenden Sie einfach die Methode, die Macports bereits anbietet und die in diesen Fragen und Antworten erläutert wird:
Gewusst wie: Macports wählen Python
TL; DR:
quelle
Wenn Sie Macports verwenden, ist dies einfacher:
Lauf:
port install python37
Setzen Sie nach der Installation die Standardeinstellung:
sudo port select --set python python37
sudo port select --set python3 python37
Starten Sie Ihr Cmd-Fenster neu, fertig.
quelle
Nun ... es ist ein bisschen alt. Aber verdient immer noch eine gute Antwort.
Und das Gute ist, dass Sie den Standard-Python auf dem Mac nicht berühren möchten.
Installieren Sie jede benötigte Python-Version über Homebrew oder was auch immer und verwenden Sie sie in virtualenv. Virtualenv wird oft als etwas Misthaftes angesehen, aber es ist immer noch viel besser, als die Python-Version systemweit zu ändern (macOS schützt sich wahrscheinlich vor solchen Aktionen) oder benutzerweit, bash-weit ... was auch immer. Vergessen Sie einfach den Standard-Python. Die Verwendung von Spielplätzen wie venv ist das, wofür Ihr Betriebssystem am meisten, sehr dankbar ist.
Der Fall ist zum Beispiel, dass viele moderne Linux-Distributionen Python2 sofort installieren und nur Python3 im System belassen. Aber jedes Mal, wenn Sie versuchen, etwas Altes mit Python2 als Abhängigkeit zu installieren, hoffen Sie, dass Sie verstehen, was ich meine. Einem guten Entwickler ist das egal. Gute Entwickler erstellen saubere Spielplätze mit der gewünschten Python-Version.
quelle
Mac-Benutzer müssen lediglich den folgenden Code auf dem Terminal ausführen
3.xx sollte die neue Python-Version sein.
Dadurch werden alle Systemverknüpfungen aktualisiert.
quelle
Vorschläge für den Alias Python zu Python3 verursachen Probleme mit virtuellen Umgebungen, in denen die Version von Python festgelegt ist (z. B. pyenv). Mit pyenv können Sie die Version global wie folgt einstellen:
Anschließend können Sie in einem bestimmten Projekt eine Python-Versionsdatei erstellen, in der sich die Python-Version befindet:
Dies ist meiner Meinung nach der beste Weg, um mehrere Versionen von Python auf einem System zu verwalten.
quelle