4 Stimmen

Was ist der beste Weg, um Python 2 auf OS X zu installieren?

Ein Kollege von mir möchte meinen Python 2-Code auf seinem OS X (10.6)-Rechner verwenden. Mein Code importiert mehrere integrierte Python-Pakete, darunter Tkinter und shelve, und verwendet auch Third-Party-Pakete, darunter numpy, scipy, matplotlib und ipython.

I Studien führte auf OS X's integriertes Python einige Probleme. (Zum Beispiel funktioniert IDLE nicht*). Ich vermute, dass ich eine neuere Version von Python und eine andere Version von Tk installieren sollte.

Meine Fragen:

  1. Kann es Probleme geben, wenn zwei verschiedene Versionen von Python/Tk auf dem gleichen Rechner vorhanden sind?

  2. Ich möchte die Terminalbefehle 'python', 'ipython' und 'easy_install' mit der neueren Version von Python verknüpfen. Wie sollte ich das machen?

  3. Wenn ich Third-Party-Pakete wie numpy mit einer .dmg-Datei installiere, wie kann ich steuern, in welche Version von Python numpy installiert wird?

  4. Gibt es einen besseren Weg, dies zu tun?

Wenn dieser Prozess gut verläuft, würde ich erwägen, OS X-Anweisungen zur Dokumentation meines Codes hinzuzufügen. Daher würde ich diesen Prozess gerne auf den einfachsten und allgemeinsten Ansatz reduzieren.

*EDIT: Außerdem, dies

EDIT: Vielen Dank an alle für die nützlichen Antworten. Mein Kollege hat MacPorts ausprobiert, was gut zu funktionieren scheint, aber einige Hindernisse hat. Zunächst mussten wir Xcode von der Systeminstallationsdiskette installieren. Dies ist keine schnelle oder leichte Installation (mehrere GB). Glücklicherweise hatten wir die Diskette noch! Nach der Installation von Xcode war es einfach, MacPorts zu installieren. Python und die Python-Teilpakete, die wir benötigten, waren ebenfalls leicht zu installieren, aber er sagte mir, dass diese Installation mehrere Stunden dauerte. Dieser Verzögerung ist wahrscheinlich auf Kompilierung zurückzuführen? Er hatte keine Schwierigkeiten damit, das MacPorts-Python als Standard festzulegen. Ich denke jedoch, dass wir die 'Python Launcher'-Anwendung manuell ändern müssen, da diese anscheinend immer noch auf das System-Python als Standard eingestellt ist.

Auch wenn er jetzt ein funktionierendes System hat, bin ich versucht, ihn zu bitten, eine der anderen Lösungen auszuprobieren. Ich bin mir nicht sicher, ob alle potenziellen Benutzer meines Codes eine mehrstündige, mehrere Gigabyte große Installation tolerieren werden.

0 Stimmen

Bitte beachten Sie, dass OSX 10.6 standardmäßig mit Python 2.4 geliefert wird, wenn ich mich richtig erinnere, und es gab ein Update auf 2.6, wieder wenn ich mich richtig erinnere. Ich verwende nicht die Standardinstallationen...

0 Stimmen

Ich habe es selbst nie benutzt, aber MacPorts hat die Möglichkeit, vorkompilierte Binärpakete zu generieren, für Zielsysteme mit oder ohne MacPorts installiert: guide.macports.org/#using.binaries

0 Stimmen

Macports hat jetzt einen Build-Server und kann für Sl und Lion vorkompilierte Binärdateien erstellen - du benötigst immer noch Xcode - welches jetzt aus dem App Store stammt

10voto

igorgue Punkte 17076

Hinweis von https://docs.brew.sh/Homebrew-and-Python: "Homebrew bietet Formeln zum Brauen von Python 3.y. Eine python@2-Formel wurde bis Ende 2019 bereitgestellt, zu diesem Zeitpunkt wurde sie jedoch aufgrund der Abkündigung von Python 2 entfernt."


Ich verwende brew, um alle meine Bibliotheken/Compiler/Interpreter zu installieren.

Um python zu installieren, versuche dies:

brew install python

Füge dann das Binärverzeichnis von Python zu deinem $PATH in deiner ~/.profile hinzu:

export PATH=`brew --prefix python`/bin:$PATH

Ich empfehle dir auch, pip, virtualenv und virtualenvwrapper zu installieren, um bessere Kontrolle über deine Umgebung zu haben.

2 Stimmen

Wie steuern Sie, welche Version von Python brew installiert?

0 Stimmen

Sofern ich kein Brew benutze, würde ich vermuten, dass der Befehl "info" dir anzeigt, welche Version von Python du hast, aber gibt er dir auch die Möglichkeit, eine andere Version zu installieren?

0 Stimmen

Nein, um dies zu tun, sollten Sie Python in Ihrem virtualenv installieren.

5voto

Sridhar Ratnakumar Punkte 74723

Hast du schon ActivePython ausprobiert?

Es enthält einen Paketmanager (PyPM), der standardmäßig in dein Home-Verzeichnis installiert wird (z. B.: ~/Library/Python/2.7). Hauptskripte werden in /usr/local/bin verlinkt; benutze das mitgelieferte pythonselect, um die aktive Python-Version festzulegen.

Du musst dich nicht mit der Installation von .dmg-Paketen herumschlagen, da PyPM ein binärer Paketmanager ist ... daher kannst du nicht-reine Python-Pakete wie NumPy ohne selbst Kompilieren installieren.

ActivePython kann Apples Tcl/Tk oder, wenn installiert, ActiveTcl verwenden.

Ein "einfachster, allgemeinster Ansatz" in deiner Dokumentation könnte sein:

  1. ActivePython 2.7 installieren
  2. Terminal öffnen und pypm-2.7 install matplotlib ipython eingeben

1 Stimmen

+1, Ich verwende ActivePerl und mein Lieblings-Python-Editor ist Komodo.

3voto

Andrew Jaffe Punkte 25296

In den meisten Fällen ist das beste Python, das zu verwenden ist, das von http://python.org/. Es richtet die Pfade korrekt ein und überschreibt nichts. DMG-Paketinstallationen funktionieren normalerweise automatisch, genauso wie python setup.py install, und es ist nicht allzu schwer, setuptools zum Laufen zu bringen. Wenn Sie Benutzerinstallationen wünschen, ist es einfach, .pydistutils.cfg einzurichten und Python erkennt automatisch den Pfad install_lib = ~/Library/Python/$py_version_short/site-packages

0 Stimmen

Im Jahr 2023 ist das der Weg. python2 ist nicht mehr in brew und nicht mehr vorinstalliert auf OS X.

2voto

Georges Martin Punkte 1088

Mit MacPorts können Sie Python 2.6, 2.7, 3.1 und 3.2 gleichzeitig installieren, mit ihren eigenen Paketen, ohne jemals das integrierte Python zu berühren.

numpy, scipy, matplotlib und ipython sind auch als Ports für die meisten dieser Python-Versionen verfügbar.

Darüber hinaus, wenn Sie den python_select-Port installieren, können Sie:

  • aussuchen, welches davon (zusätzlich zum integrierten Python) das "Standard"-Python ist;

  • Python-Pakete über easy_install/pip für das "ausgewählte" Python installieren, falls sie nicht als Ports verfügbar sind.

Fügen Sie virtualenv hinzu und Sie haben eine sehr flexible Python-Entwicklungsumgebung.

Was Ihre Fragen betrifft:

Q1: Mit MacPorts nicht. Obwohl ich kein häufiger Benutzer bin, habe ich matplotlib in 2.6 und 2.7 installiert und verwendet, indem ich zwischen den beiden mit python_select gewechselt habe.

Q2: easy_install, pip, ipython werden mit dem Python verknüpft, in dem sie installiert wurden. (aber siehe Tipp 1)

Q3: Es ist einfacher, einen der py{26,27,xx}-numpy-Ports zu installieren oder pip install numpy unter Ihrem ausgewählten Python auszuführen.

Q4: Nun, MacPorts ist das Beste, was ich nach APT auf Debian/Ubuntu kenne... :-)

Nun, zwei Tipps, wenn Sie MacPorts ausprobieren:

  1. MacPorts installiert Ports sauber getrennt von der OS X-Installation, in einem /opt/local-Verzeichnis, und jede Python-Version wird in einem /opt/local/Library/Frameworks/Python.framework/Versions/{2.5,2.6,2.7,...}-Verzeichnis installiert. Durch die Verwendung von python_select können Sie den "python"-Befehl mit Links sauber umschalten. ABER... das Versions/{2.5,2.6,2.7,...}/bin-Verzeichnis, in dem Python-Skripte installiert sind, wird nicht zum PATH hinzugefügt. Wenn Sie einfach export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH zu Ihrer ~/.profile hinzufügen, erhalten Sie immer direkten Zugriff auf die für das ausgewählte Python installierten Skripte.

  2. Um böse Überraschungen zu vermeiden, habe ich eine echo Selected python is \"$(python_select -s)\"-Zeile zu meiner ~/.profile hinzugefügt, damit ich jedes Mal beim Öffnen einer Sitzung weiß, welches mein aktuell ausgewähltes Python ist... :-)

Grüße,

Georges

0 Stimmen

Ooops... Entschuldigung @sebs, ich habe irgendwie deine Erwähnung von MacPorts und deinem Link übersehen. :-q

2voto

GhostCat Punkte 132750

Ein Nachtrag zur Verwendung von brew:

Seit einiger Zeit wird mit brew install python python3 installiert.

Wenn du python2 installieren möchtest, solltest du

brew install python@2

Es ist völlig in Ordnung, sowohl python als auch python3 mit brew zu installieren!

1 Stimmen

Dies funktioniert nicht mehr, da es aus homebrew/core im Commit 028f11f9e4 gelöscht wurde.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X