4 Stimmen

Wie kann ich Python 2 am besten unter OS X 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 Pakete von Drittanbietern, darunter numpy, scipy, matplotlib und ipython.

Ich bin auf ein paar Probleme mit dem in OS X eingebauten Python gestoßen. (IDLE funktioniert zum Beispiel nicht*). Ich vermute, ich sollte ein neuere Version von Python und eine andere Version von Tk .

Meine Fragen:

  1. Werden zwei verschiedene Versionen von Python/Tk auf demselben Rechner Probleme verursachen?

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

  3. Wenn ich Pakete von Drittanbietern wie numpy installiere Verwendung einer .dmg-Datei Wie kontrolliere ich, in welcher Version von Python sich Numpy installiert?

  4. Gibt es eine bessere Möglichkeit, dies zu tun?

Wenn dieser Prozess gut läuft, würde ich in Erwägung ziehen, die Dokumentation meines Codes um Anweisungen für OS X zu ergänzen, daher möchte ich diesen Prozess auf den einfachsten, allgemeinsten Ansatz reduzieren.

*EDIT: Auch, este

EDIT: Vielen Dank an alle für die nützlichen Antworten. Mein Kollege hat MacPorts ausprobiert, was gut zu funktionieren scheint, aber ein paar Hürden aufweist. Zuerst mussten wir Xcode von der Systeminstallationsdiskette installieren. Das ist keine schnelle oder leichte Installation (mehrere GB). Zum Glück hatten wir die Diskette noch! Sobald Xcode installiert war, war MacPorts einfach zu installieren. Python und die Python-Unterpakete, die wir benötigten, waren ebenfalls einfach zu installieren, aber er sagte mir, dass diese Installation mehrere Stunden dauerte. Vermutlich ist diese Verzögerung auf die Kompilierung zurückzuführen? Es war für ihn ein Leichtes, das MacPorts-Python als Standard einzustellen. Ich glaube jedoch, dass wir das Programm 'Python Launcher' von Hand ändern müssen, da es immer noch auf das Systempython voreingestellt zu sein scheint.

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 Nutzer meines Codes eine mehrstündige, mehrere Gigabyte große Installation verkraften würden.

10voto

igorgue Punkte 17076

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

Zum Installieren python Versuchen Sie dies:

brew install python

Fügen Sie dann das Python-Binarys-Verzeichnis zu Ihrem $PATH en su ~/.profile :

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

Ich empfehle Ihnen die Installation von pip , virtualenv y virtualenvwrapper auch eine bessere Kontrolle über Ihre Umgebung zu haben.

5voto

Sridhar Ratnakumar Punkte 74723

Haben Sie versucht ActivePython ?

Es enthält einen Paketmanager ( PyPM ), das standardmäßig in Ihrem Heimatverzeichnis installiert wird (z. B: ~/Library/Python/2.7 ). Hauptskripte werden symlinked in /usr/local/bin ; verwenden Sie den mitgelieferten pythonselect um die aktive Python-Version einzustellen.

Sie müssen sich nicht die Mühe machen, .dmg-Pakete zu installieren, denn PyPM ist ein binär Paketmanager ... daher können Sie nicht-reine Python-Pakete installieren wie NumPy ohne selbst etwas kompilieren zu müssen.

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

A " einfachster, allgemeinster Ansatz " in Ihrer Dokumentation sein:

  1. ActivePython 2.7 installieren
  2. Öffnen Sie Terminal und geben Sie pypm-2.7 install matplotlib ipython

3voto

Andrew Jaffe Punkte 25296

In fast allen Fällen ist der beste Python, den man verwenden kann, derjenige von http://python.org/ . Es richtet die Pfade korrekt ein und überschreibt nichts. Die Installation von DMG-Paketen funktioniert normalerweise automatisch, ebenso wie die python setup.py install und es ist nicht allzu schwer zu bekommen setuptools zu funktionieren. Wenn Sie Installationen pro Benutzer wünschen, ist es einfach, Folgendes einzurichten .pydistutils.cfg und Python erkennt automatisch den Pfad install_lib = ~/Library/Python/$py_version_short/site-packages

2voto

Georges Martin Punkte 1088

Verwendung von MacPorts können Sie Python 2.6, 2.7, 3.1 und 3.2 gleichzeitig mit ihren eigenen Paketen installieren, ohne jemals das eingebaute Python anzufassen.

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

Außerdem können Sie bei der Installation des python_select Port, können Sie das:

  • um auszuwählen, welches dieser Programme (plus das eingebaute Python) das "Standard"-Python ist;

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

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

Was Ihre Fragen betrifft:

Q1: mit MacPorts, nein. obwohl ich kein häufiger Benutzer bin, habe ich matplotlib in 2.6 und 2.7 installiert und verwendet, wobei ich zwischen den beiden mit python_select gewechselt habe.

Q2: easy_install, pip, ipython werden mit dem Python "verlinkt", mit dem sie installiert wurden. (siehe aber Tipp 1)

Q3: es ist einfacher, einen der py{26,27,xx}-numpy-Ports zu installieren, oder pip install numpy unter Ihrem python_select'ed python.

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

Zwei Tipps, wenn Sie MacPorts ausprobieren:

  1. MacPorts installiert die Ports sauber getrennt von der OS X-Installation in einem Verzeichnis /opt/local, und jede Python-Version wird in einem Verzeichnis /opt/local/Library/Frameworks/Python.framework/Versions/{2.5,2.6,2.7,...} Verzeichnis. Mit python_select schalten Sie den "python"-Befehl über Links sauber um. ABER... die Versions/{2.5,2.6,2.7,...}/bin Verzeichnis, in dem Python-Skripte installiert sind, wird nicht zum PATH hinzugefügt. Einfach hinzufügen: export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH zu Ihrem ~/.profile gibt Ihnen immer direkten Zugang zu den Skripten, die für das ausgewählte Python installiert sind.

  2. um böse Überraschungen zu vermeiden, habe ich eine echo Selected python is \"$(python_select -s)\" Linie zu meinem ~/.profile damit ich beim Öffnen einer Sitzung immer weiß, welches mein aktuell ausgewähltes Python ist... :-)

Herzliche Grüße,

Georges

2voto

GhostCat Punkte 132750

Ein Nachtrag zur Verwendung von brew :

Seit einiger Zeit, brew install python wird python installieren 3 .

Wenn Sie Python installieren wollen 2 wollen Sie verwenden

brew install python@2

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

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