it-swarm.com.de

Erstellen Sie Python3 als Standard-Python auf dem Mac

Was ich hier versuche, ist, python3 als meinen Standard-Python zu machen. Mit Ausnahme des Python 2.7, der automatisch auf dem Mac installiert wurde, habe ich python3 mit homebrew installiert. Dies ist die Website, der ich folge. http://docs.python-guide.org/de/latest/starting/install3/osx/#install3-osx

Ich glaube, ich habe jede Anweisung gut befolgt, Xcode frisch installiert, Befehlszeilen-Tools und Homebrew. Aber hier kommt meine kleine Verwirrung vor.

Das Skript erläutert, welche Änderungen vorgenommen werden, und fordert Sie auf, bevor die Installation beginnt. Wenn Sie Homebrew installiert haben, fügen Sie das Homebrew-Verzeichnis oben in der Umgebungsvariable PATH ein. Sie können dies tun, indem Sie die folgende Zeile am Ende Ihrer Datei ~/.profile hinzufügen

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

Ich war wirklich verwirrt, was das war, aber ich kam zu dem Schluss, dass ich die folgende Zeile am Ende der Datei ~/.profile einfügen sollte. Also öffnete ich die Datei ~/.profile mit open .profile im Terminal und fügte unten folgende Zeile hinzu. Und jetzt sieht es so aus.

export PATH=/usr/local/bin:/usr/local/sbin:$PATH
# Setting PATH for Python 3.6
# The original version is saved in .profile.pysave
export PATH=/usr/local/bin:/usr/local/sbin:$PATH

Und dann habe ich brew mit python installiert und hoffte, python3 zu sehen, wenn ich python --version mache. Aber es zeigt mir nur python 2.7.10. Ich möchte, dass mein Standard-Python python3 ist und nicht 2.7

Und ich habe einen kleinen Hinweis von der Website gefunden.

Muss ich einen Python 3 installieren?

$ python --version
Python 3.6.4

Wenn Sie immer noch 2.7 sehen, stellen Sie sicher, dass in PATH/usr/local/bin/die Präsenz über/usr/bin/ übernommen wird.

Vielleicht hat es etwas mit PATH zu tun? Könnte jemand auf einfache Weise erklären, was PATH genau ist und wie ich meinen Standard-Python als Python3 definieren könnte, wenn ich python --version im Terminal ausführte?

17
Sambo Kim

Am sichersten und einfachsten ist es wahrscheinlich, brew zu verwenden und dann einfach Ihre PATH zu ändern:

Erstes Update Brew:

brew update

Nächstes Python installieren:

brew install python

Das wird Python3 installieren und mit Python Symlink verknüpfen, für weitere Details:

brew info python

Suchen Sie nach den Vorsichtsmaßnahmen:

==> Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin

Dann fügen Sie Ihrem Pfad /usr/local/opt/python/libexec/bin hinzu:

export PATH=/usr/local/opt/python/libexec/bin:$PATH

Die Reihenfolge der PATH ist wichtig, da der /usr/local/opt/python/libexec/bin zuerst verwendet wird, um der Brew-Installation (python3) den Vorzug zu geben, als in Ihrem System unter /usr/bin/python.

46
nbari

Demnach ist S.O. post Wenn Sie den Standard-Python-Interpreter ändern, werden möglicherweise einige Anwendungen beschädigt, die von Python 2 abhängen.

Der Beitrag bezieht sich auch auf die Verwendung von Aliasing als Lösung, und diese Verknüpfung kann auch eine gute Referenz dafür sein.

Ich persönlich tippe einfach "Python3" ein, bevor ich Skripte starte oder in eine Shell-Umgebung gehe, anstatt "Python".

3
Jonathan

Das hat bei mir funktioniert.

unlink <your default python path> 
ln -s <path your new python version> /usr/local/bin/python
0
vinoth10

Wenn Sie die standardmäßige Python-Version systemweit ändern, können einige von Python2 abhängige Anwendungen beschädigt werden. Die alternative Lösung wäre die Erstellung einer Befehlszeile alias.

  • Öffnen Sie das Terminal und stellen Sie sicher, dass Sie sich im Root-Benutzerordner befinden (zB MacBook-Pro:~ jane$).

  • open .bash_profile ausführen. Wenn die Datei nicht vorhanden ist, führen Sie zuerst touch .bash_profile aus.

  • jetzt in .bash_profile typ alias <yourAliasName>="python3" 

Sie können <yourAliasName> einen beliebigen Namen geben, nicht nur python.

0
Jane