Python-Version 2.7.8 kann /usr/bin/easy_install nicht ausführen. Versuchen Sie die Alternative(n):

Ich mache eine Menge Python-Entwicklung und habe auch gerade das Betriebssystem auf Mountain Lion aktualisiert.

Ich hatte die ursprünglichen Python-Versionen mit Snow Leopard unter Verwendung der GUI von Python.org ersetzt und dann Links in /usr/bin hinzugefügt:

lrwxr-xr-x  1 root  admin  71 Oct 22 18:12 python -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

Also habe ich jetzt, was ich denke, alle Python-Versionen, die Teil von OSX 10.8.5 (2.5, 2.6, 2.7) sind, in:

/System/Library/Frameworks/Python.framework/Versions/

und verlinkt von/usr/bin

Und AUCH die, die ich mit der GUI installiert habe:

/Library/Frameworks/Python.framework/Versions/

Aber ich plane, die Versionen zu verwenden, die ich mit installiere fink, was ein Portbaum ist, der dem ähnlich ist, macportsder sich befindet/befinden wird in:

/sw/bin

PATHAlso habe ich die Exporte auskommentiert ~/.bash_profile, die auf die ausführbaren Nicht-Fink-Dateien verweisen:

#PATH="/usr/local/bin:/usr/local/sbin:/System/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
#export PATH

#PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
#export PATH

Und ergänzt:

#  for Fink:
export PATH=$PATH:/sw/bin
. /sw/bin/init.sh

Ich verstehe das Shell-Skripting noch nicht ganz, aber init.shinitialisiert fink, denke ich, hauptsächlich durch Hinzufügen von Elementen zu $PATH und anderen Umgebungsvariablen.

homebrewZuvor habe ich verschiedene Pakete mit und verschiedene GUIs installiert macportsund hoffe, diesmal eine verständlichere Umgebung zu haben.

Im Moment muss ich installieren postgreSQLund eine Reihe von python moduleseinschließlich pip, virtualenv, virtualenvironmentwrapper, psycopg.

Es sieht so aus, als ob die easy_installausführbare Datei (binäre ausführbare Datei?) (neben easy_install-2.5, 2.6 und 2.7) in /usr/bin/.

Also meine Fragen sind:

  1. Gibt es einen Grund, mehr als eine Kopie jeder Version von Python zu haben?

  2. Funktionieren Python-abhängige Anwendungen, solange es einen Link zu /usr/bin/einer funktionierenden, ausführbaren Python-Bibliothek gibt und der Speicherort der ausführbaren Python-Datei in der $PATH?

  3. Gibt es viele Gründe, Python2.5an diesem Punkt zu bleiben?

  4. sudo easy_install-2.7 pipfunktioniert, also wofür genau -rwxr-xr-x 2 root wheel 925 Oct 23 14:48 easy_install?

Antworten (1)

Okay.

Antwort auf Nummer 1 ist ja.

Die Fink-Entwickler empfehlen, die OSX-Versionen von Python NICHT zu entfernen, einfach weil sie keine besonders großen Dateien sind und für bestimmte OSX-Funktionen und -Programme erforderlich sein können.

Und ich möchte, dass eine zusätzliche Version von mindestens python2.7 von fink installiert wird, da es sich um einen Portbaum handelt, der darauf ausgelegt ist, eine UNIX-ähnliche Verzeichnisstruktur zu erstellen, die hoffentlich dafür sorgt, dass PostgreSQL und Python gut zusammenspielen.

Bei Frage Nummer 2 bin ich mir nicht sicher. Ich denke, das würde funktionieren, aber das Installieren der ursprünglichen OSX-Versionen vermeidet das Problem.

Frage 3: Ja. - Siehe Antwort zu Frage 1.

Die finkVersion so zu machen, dass sie über das Terminal läuft, ist eine Frage von:

  1. Stellen Sie sicher, dass das Verzeichnis, das die Fink-Python-Binärdatei enthält, dem OSX (oder GUI-installierten) in der vorangeht PATH, was in Benutzern .profileoder .bash_profile(befindet sich im Verzeichnis ~/, dem Stammverzeichnis des Benutzers) erfolgen kann, indem Sie entweder das Fink-Init-Skript aufrufen, . /sw/bin/init.shODER sicherstellen die in der Datei NACH jeder anderen Zeile enthalten ist, die eine mit einem der anderen Python-Pfade am Anfang export PATH=/sw/bin:$PATHexportiert . PATHZum Beispiel export PATH=/usr/bin:$PATHoder export PATH=/usr/local/bin:$PATH.

  2. Sofern wir die Python-CLI nicht wie aufrufen möchten python2.7, müssen wir einen symbolischen Link im /sw/binVerzeichnis erstellen, der von „python“ auf „python2.7“ verweist, was mithilfe von erfolgt sudo ln -s *source* *link*, was in diesem Fall so aussieht:

    sudo ln -s /sw/bin/python2.7 /sw/bin/python

Ich bin mir noch nicht sicher, was die Antwort auf Frage 4 ist, aber ich sehe, dass alle darin vorhandenen Bibliotheken /sw/binvon dort aus aufgerufen werden, im Gegensatz zu anderen Installationen. Gut.

Ich habe eine Kopie von Learning UNIX für OS X Mountain Lion, die ziemlich vielversprechend aussieht.