Beim Versuch, eine bestimmte Python-Datei auszuführen, wurde der folgende Fehler angezeigt.
$ python [filename].py
Fatal Python error: PyThreadState_Get: no current thread
[1] 1588 abort python [filename].py
Die Bedingungen waren übrigens wie folgt.
Es war die Art von Fehler, die ich zum ersten Mal sah, also habe ich untersucht, was die Ursache war, und kurz gesagt (von Anfang an?) Zwischen der mit dem Mac gelieferten Python und der mit Brew installierten Python ist etwas schief gelaufen. Es scheint, dass sie miteinander in Konflikt stehen. Ich kenne den Grund nicht, aber vielleicht war es nicht gut, Brew Python verwalten zu lassen.
Damit habe ich Brew's Python deinstalliert.
brew uninstall python
Das ist die Lösung. Sie können es jetzt sicher ausführen. Wahrscheinlich liegt die Ursache darin, dass die beiden Python-Versionen unterschiedlich sind (Mac ist 2.7.6 und Brew ist 2.7.9), und der Pfad funktioniert aus diesem Grund nicht gut, aber ich verstehe nicht gut. Da sich jedoch die neuesten Aufgaben angesammelt haben, werde ich so tun, als würde ich sie nicht sehen.
Wenn jemand damit vertraut ist, würde ich es begrüßen, wenn Sie mir leicht die Ursache nennen könnten.
Laut Gurobi-Entwickler Greg Glockner unterstützt Gurobi nur Python, das standardmäßig unter OSX installiert ist. Mit anderen Worten, es bleibt keine andere Wahl, als die Python von Brew herunterzustufen, zu deinstallieren (löschen) oder die Verknüpfung aufheben (pausieren).
Übrigens habe ich beschlossen, die Verbindung zu trennen. Vorerst einfach
brew unlink python
Halten Sie an und wenn nötig
brew link python
Es ist eine Übersetzung zum Wiederbeleben, es ist wirklich einfach! Oder nur, wenn Gurobi in Python ausgeführt wird
import os
os.system('brew unlink python')
(Ausführungsinhalt)
os.system('brew link python')
Es kann einfacher sein, so zu schreiben.
Ich glaube nicht, dass es gelöst wurde, aber ich wurde erfrischt, weil ich irgendwie die Ursache gefunden habe.