Ich habe eine separate Installation von Python 3.*, aber der erste Python-Pfad in meiner $PATH
Variablen ist der Pfad zum vom System installierten Python. Soll es so sein?
Ich habe den Pfad zum vom Benutzer installierten Python mit https://www.architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.Uydjga1dXDg hinzugefügt , und es wurde am Ende geknallt $PATH
.
Verstehe ich richtig, dass in der aktuellen Situation, wenn ich pip
, brew
etc. auf python3 von bash aus ausführe, die Änderungen auf systeminstalliertes Python angewendet werden?
Die Lösung, die ich bisher habe, besteht darin, export PATH=/usr/local/bin:/usr/local/sbin:$PATH
jedes Mal ausgeführt zu werden, wenn ich Python installieren oder aktualisieren möchte, aber es ist nicht ideal.
pyenv
NB: Ich habe mich für die von @bermudalocket vorgeschlagene Lösung entschieden . Dieses pyenv- Tutorial war sehr nützlich.
Sie können dies erreichen, indem Sie hinzufügen
export PATH="/path/to/python:"$PATH
zu Ihnen ~/.zshrc
(oder ~/.bash_profile
wenn Sie nicht auf Catalina sind).
Ich möchte eine Alternative vorschlagen und vorschlagen pyenv
, die über Homebrew erhältlich ist. Sie können eine bestimmte Python-Version als „global“ (dh überall standardmäßig) und/oder „lokal“ (dh diese Version nur in einem bestimmten Verzeichnis verwenden) festlegen.
Z.B:
brew install pyenv
pyenv global 2.7.16
cd ~/myProjects/MyProject
pyenv local 3.7.6
Wenn Sie Python darin verwenden würden, ~/myProjects/MyProject
wird standardmäßig 3.7.6
, und überall sonst 2.7.16
:
cd ~/some/other/directory
python --version
>> Python 2.7.16
cd ~/myProjects/MyProject
python --version
>> Python 3.7.6
Ich habe Python 3.8 für macOS mit dem Installationsprogramm von python.org installiert, nicht Homebrew, das auch auf meinem Mac installiert ist, aber selten verwendet wird. Ich denke, die ersten drei Zeilen unten zu meinem ~/.bash_profile wurden automatisch vom Installationsprogramm von python.org hinzugefügt.
Mit diesen scheinen alle Änderungen, die ich mit mache, pip3
nur 3.8 zu betreffen, während die über 2.7 vorgenommenen pip
anscheinend nur 2.7 betreffen (von dem ich glaube, dass es mit macOS installiert wird). Da ich Homebrew bei der Installation von Python 3.8 (oder 2.7) nicht verwendet habe, gehe ich davon aus, dass es in meinem Fall für keine der Python-Versionen relevant ist. Hoffe, diese helfen.
# Setting PATH for Python 3.8
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH
# Setting PATH for Python 2.7
# I believe the two lines below were already in the file before the above were added
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
Julia V
Bermudas
pyenv versions
, um eine Liste der verfügbaren Versionen anzuzeigen, ist einesystem
. Das bedeutet, dass Sie laufen können<pyenv global/local> system
. Wenn Sie sich dann in einem Verzeichnis befinden, das die Systemversion verwendet, erfolgen alle Interaktionen mit Python mit dem System-Python.Anki
Bermudas
Anki