2014-12-02 14 views
5

Synopsis: pip install gevent funktioniert nicht.Python Gevent kann nicht auf Mac OSX 10.10 erstellt werden

Graben hinunter, die ich heruntergeladen habe GEVENT .tar.gz und lief den Build manuell: python setup.py build, bekam den gleichen Fehler:

running build 
running build_py 
running build_ext 
building 'gevent.core' extension 
clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -U__llvm__ -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.macosx-10.10-x86_64-2.7/libev -Ilibev -I/Users/travisjohnson/.pyenv/versions/2.7.5/include/python2.7 -c gevent/gevent.core.c -o build/temp.macosx-10.10-x86_64-2.7/gevent/gevent.core.o 
In file included from gevent/gevent.core.c:313: 
In file included from gevent/libev.h:2: 
... 
29 various compiler warnings 
... 
29 warnings generated. 
clang -bundle -bundle_loader python.exe -L/usr/local/opt/readline/lib -L/usr/local/opt/readline/lib -L/Users/travisjohnson/.pyenv/versions/2.7.5/lib -U__llvm__ build/temp.macosx-10.10-x86_64-2.7/gevent/gevent.core.o -o build/lib.macosx-10.10-x86_64-2.7/gevent/core.so 
ld: file not found: python.exe 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
error: command 'clang' failed with exit status 1 

Mein erster Gedanke ist: „Es sieht aus wie es Klirren erzählt python.exe in etwas zu verknüpfen“, was anfangs ich dachte, war Unsinn (das ist nicht Windows), aber: https://docs.python.org/devguide/setup.html#unix sagt Python.exe ist der Standardname für Python nach dem Aufbau (wegen der Groß-/Kleinschreibung), so jetzt weiß ich nicht.

Ich habe seit Stunden gegraben, und habe keinen nächsten Schritt. I found something similar (I think) on a different project, aber es gab keine Erklärung für die Ursache oder was es behoben, nur dass es behoben wurde (Ich habe überprüft, dass meine xcode und Entwickler-Tools usw. auf dem neuesten Stand sind)

Ich bin bei einem Totalverlust für die nächste Schritte hier, könnte mir jemand in die richtige Richtung zeigen?

EDIT: etwas Digging in den Build manuell Schritt für Schritt ausgeführt wird, habe ich diese bestimmten Schritt erhalten zu nicht fehler aus durch:

  • Suche nach der Lage des python binären (nicht die Beilage von pyenv verwendet)
  • manuell clang Befehl im Protokoll aufgelistet läuft, aber python.exe mit dem Weg zu meinem python binären ersetzen, das heißt: /Users/username/.pyenv/versions/adid/bin/python2.7

So scheint es, dass es keinen richtigen Pfad zu der Python-Binärdatei bekommt? Leider kenne ich den Rest des Build-Prozesses nicht, so dass ich nicht alleine weitermachen kann, und ich weiß nicht, wie ich diese Pfadkorrektur in den Prozess einfügen soll, der von setup.py ausgeführt wird. Ich hatte diese Probleme nicht, bevor ich auf 10.10 update (hätte etwas anderes sein können, es waren ein paar Tage und ich habe andere Sachen gemacht), also weiß ich nicht, warum das nur ein neues Problem ist.

+0

Haben Sie versucht, 'xcode-select --install' auf diesem Rechner auszuführen? Fehler im Zusammenhang mit 'clang' werden oft durch fehlende/falsch konfigurierte C++ - Compiler verursacht. – oxymor0n

+0

Ich habe ja, ich fand ähnliche Empfehlungen anderswo, war eines der ersten Dinge, die ich ausprobiert habe. – Conslo

+0

Muss etwas sein, das Sie blockiert, nur am 10.10 installiert - haben Sie versucht, clang oder gcc auf eine neuere Version zu aktualisieren? –

Antwort

5

Offensichtlich ist dies ein Problem mit meinem virtualenv Manager:

https://github.com/yyuu/pyenv/issues/273

Unable to install compiled Python modules under pyenv on OS X 10.10 ist der Name des Problems.

EDIT: Nein ist es nicht.

Dies ist ein Fehler mit Python. Die Art und Weise, wie Python OS Version Vergleiche in OSX war naiv, und brach mit der zweistelligen Zahl in 10.10, wo es dann denken würde, dass Sie auf einem viel älteren OSX waren. Dies kann oft unbemerkt bleiben, außer wenn kompilierte Module installiert werden (wo es verwendet wird, um einige Entscheidungen zu treffen).

Dies wurde hier festgelegt: https://bugs.python.org/issue21811

Ich erinnere mich nicht, ob 2.7.7 oder 2.7.8 die Version mit dem freigesetzten fix war (aber es war einer von ihnen), aber das Endergebnis ist möglich verwende keine älteren Versionen von 2.7 auf OSX 10.10 oder neuer. Wenn Sie auf dieses Problem stoßen, würde ich persönlich versuchen, die verwendete Python-Version zu aktualisieren;) (2.7.11 hat einige tolle ssl Verbesserungen sowieso).

+0

Für jeden, der wie ich kämpft, war die Python-Version mit dem Fix 2.7.8. Danke für deine Antwort! –

+0

Sie können den Fehler selbst beheben, siehe https://github.com/pyenv/pyenv/issues/273#issuecomment-285038543 – Andrei

Verwandte Themen