2016-05-10 2 views
2

Ich teste TensorBox, die auf Google Tensorflow für eine Aufgabe basiert. Es gibt ein kleines Stück Code, das kompiliert werden muss und ich kompiliere es. Wenn otool -L stitch_wrapper.so ausgeführt ist dies die Ausgabe:Python-Fehler: PyThreadState_Get: kein aktueller Thread nach dem Kompilieren einer Erweiterung

stitch_wrapper.so (compatibility version 0.0.0, current version 0.0.0) 
libpython2.7.dylib (compatibility version 2.7.0, current version 2.7.0) 
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0) 
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1) 

Jedes Mal, wenn ich in Python zu tun import stitch_wrapper, erhalte ich die Fehlermeldung:

Fatal Python error: PyThreadState_Get: no current thread 
Abort trap: 6 

ich in this other question in einem Kommentar zu lesen, dass dies geschieht, wenn ein Modul zu verwenden versucht eine Python-Bibliothek, die sich von der unterscheidet, die der Interpreter verwendet, dh wenn Sie zwei verschiedene Pythons mischen. Ich habe zwei verschiedene Pythons in der Maschine, und die, die ich benutze, wenn ich den Code ausführe, ist der anaconda Python, den ich in meinem home Verzeichnis installierte. Entschuldige meine Frage, wenn ich verwirrt bin, aber wie kann ich richtig für meinen anaconda Python kompilieren? Ich habe versucht, in meinem anderen Python zu importieren und es funktioniert gut. Aber ich brauche es für meine Anakonda Python zu arbeiten.

Antwort

0

Wie Sie sagen, geschieht dies, weil Sie die Erweiterung für eine andere Python-Version kompiliert haben.

Damit es in Anaconda funktioniert, müssen Sie sehen, ob Python-Bibliotheken, Header-Dateien usw. zur Verfügung gestellt werden. Dann müssen Sie alles mit den richtigen Flags neu kompilieren. Wenn Anaconda bereitstellt, können Sie die Flags von dort abrufen.

Verwandte Themen