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)
@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.
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
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 !!
Antworten:
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 python34
Es 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)
quelle
$ 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.
brew install
mit dem entsprechenden Commit-Hash verwenden:brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rb
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ec545d45d4512ace3570782283df4ecda6bb0044/Formula/python3.rb
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/python34
und installieren könnenbrew link python34 --force
Bitte beachten Sie, dass python3.rb irgendwann in python.rb umbenannt wurde. Ändern Sie ggf. die URL.
quelle
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rb
undpython3.4 -V
sollte dann funktionieren.python3.rb
wird wiepython.rb
bereits 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
Verwenden Sie für Python in Mac pyenv
So wählen Sie eine Version aus
Versionen auflisten
https://gist.github.com/Bouke/11261620
Sie müssen den PATH exportieren, um die Standard-Python-Version zu überschreiben.
quelle
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.
quelle