So installieren Sie eine bestimmte Version von Python unter OS X


Antworten:


11

Ich habe so etwas auf zwei Arten gemacht - beide koexistieren jedoch nicht mit Homebrew, obwohl ich vermute, dass es einen ähnlichen Weg wie den Macports geben sollte.

Das erste ist die Verwendung von Macports als Paketmanager. Es gibt separate Ports für mehrere Python-Versionen 2.x und 3.x, derzeit 2.4, 2.5, 2.6, 2.7 und 3.1, 3.2, 3.3, 3.4 und 3.5. Zum Beispiel, um 3.4 zu installieren. Do sudo port install python34Es gibt auch einen python_select-Port, über den Sie auswählen können, welche Python-Version von / opt / bin / python ausgeführt wird.
Jeder Paketmanager muss als einziger Paketmanager ausgeführt werden, da er sonst mit unerwartet unterschiedlichen Versionen von Bibliotheken und ausführbaren Dateien auf seinen Pfaden verwechselt wird.

Die andere Möglichkeit ist die direkte Installation von python.org. Dadurch wird ein Python in / usr / local / bin installiert. Ich denke, dies installiert ein ausführbares Programm für Python und Python3. Das Problem bei Homebrew ist, dass davon ausgegangen wird, dass die Dinge in / usr / local installiert sind, und dass brew doctor diese python.org-Pythons und -Bibliotheken als Probleme meldet. Wie diese Frage zeigt, sind auch die Frameworks in / Library problematisch.

EDIT 8/2018 *** Ich würde jetzt vorschlagen, Conda entweder Miniconda oder Anaconda zu verwenden. Dies ist ein weiterer Paketmanager, der jedoch auf Python basiert und hauptsächlich für Python gedacht ist. Er gibt auch das Äquivalent zu den virtuellen Umgebungen von Python und Pyenv (wie in der anderen Antwort angegeben ). Daher kann sich jedes Projekt in einem anderen Python und in verschiedenen Bibliotheken befinden (Macports wechselt nur die Python-Version für alle Projekte)


Es ist ganz einfach mit brew stackoverflow.com/questions/3987683/…
Raz

1
@Raz das ist, wie man das eine oder das andere installiert, nicht beides und wechselt zwischen ihnen - oder ich verstehe die Antwort falsch - wenn es einfach ist, bitte als Antwort geben - hoffentlich auf einfache Weise
user151019

@Mark Ich musste mein Projekt auf der spezifischen Python-Version ausführen und Google gibt diese Antwort. Da Brew in der Frage erwähnt wird, würde ich es vorziehen, eine zusätzliche Python-Version als zusätzlichen Paket-Manager zu installieren. Mein Kommentar war für Googler wie mich.
Raz

47

$ brew install python3 ist gleich folgen

$ brew install https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb

So. Wenn Sie dann eine bestimmte Version installieren möchten, müssen Sie dies vor der Installation überprüfen.

  • Überprüfen Sie den Git-Verlauf von python.rb
  • Finden Sie die gewünschte Version. Jetzt können Sie brew installmit dem entsprechenden Commit-Hash verwenden:
    • 3.4.3_2: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rb
    • 3.5.2_3: $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ec545d45d4512ace3570782283df4ecda6bb0044/Formula/python3.rb
    • 3.6.5_1: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Es gibt auch: https://github.com/sashkab/homebrew-python, wo Sie mit brew install sashkab/python/python34und installieren könnenbrew link python34 --force

Bitte beachten Sie, dass python3.rb irgendwann in python.rb umbenannt wurde. Ändern Sie ggf. die URL.


Als FYI: Python 3.4.3_2 ist $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rbund python3.4 -Vsollte dann funktionieren.
Ich wurde

@iwasrobbed es ist 404: In diesem Moment nicht gefunden
Никита Конин

Dies hat pip3 nicht installiert. :(
Kirby

Leider wird die Browserseite für die Python 3-Formel nicht angezeigt. Es sagt etwas darüber aus, dass der Verlauf zu lang ist und zu lange dauert, um auf der Seite generiert zu werden. Ich war versucht, aber nicht, das gesamte Repo zu klonen.
Mike Williamson

7
Die Datei python3.rbwird wie python.rbbereits umbenannt . Probieren Sie den anderen Weg. Zu Ihrer Information: Python 3.6.5_1 ist$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
John Pang

36

Verwenden Sie für Python in Mac pyenv

brew install pyenv
pyenv install <version>

So wählen Sie eine Version aus

pyenv local 3.5.0

Versionen auflisten

pyenv versions

https://gist.github.com/Bouke/11261620

Sie müssen den PATH exportieren, um die Standard-Python-Version zu überschreiben.

PATH="~/.pyenv/versions/2.7.10/bin:${PATH}"

Ich benutze dieses installierte Python 3.6.6rc1, aber Brew zeigt immer noch Python3 auf 3.7.0. Da ich Heroku verwende und Pipfile 3.6 verwende, verwende ich die andere Antwort, um 3.6.5 zu installieren (3.6.6 ist in GitHub nicht verfügbar, soweit ich das beurteilen kann).
John Pang

5

Dies scheint ein viel einfacherer Ansatz zu sein UND hält sich von / usr / local / bin fern !!

https://github.com/sashkab/homebrew-python

Ich habe es nicht getestet, aber es verspricht, jede Version (und mehrere Versionen) von Python installieren zu können.

Einschließlich 3.6.6, das, soweit ich das beurteilen kann, nicht im Sudkern enthalten ist.


Projekt ist veraltet
lobi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.