Fehler aufgrund eines Konflikts zwischen Pythons bei der Verwendung von Gurobi

Problem und sofortige Lösung

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.

Lösung (zusätzlicher Hinweis)

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.

Recommended Posts

Fehler aufgrund eines Konflikts zwischen Pythons bei der Verwendung von Gurobi
Umgang mit OAuth2-Fehlern bei Verwendung von Google APIs aus Python
Fehler aufgrund von UnicodeDecodeError beim Lesen der CSV-Datei mit Python [Für Anfänger]
Fehler beim Versuch, psycopg2 in Python zu installieren
Beenden bei Verwendung von Python in Terminal (Mac)
Fehler beim Ausführen von Python-Befehlen ohne Verwendung der Anaconda-Eingabeaufforderung
Wovon ich süchtig war, als ich Python Tornado benutzte
Ich erhalte eine Fehlermeldung, wenn ich versuche, Python mit pyenv in Catalina auf 3 Serien zu erhöhen
Mit Python auf Twitter posten
Starten Sie mit Python zu Selen
Fehler beim Spielen mit Python
Vorsichtsmaßnahmen bei der Verwendung von Python mit AtCoder
Dinge, die Sie bei der Verwendung von CGI mit Python beachten sollten.
Liste der zu installierenden Bibliotheken bei der Installation von Python mit Pyenv
So installieren Sie Python mit Anaconda
Dinge, auf die Sie achten müssen, wenn Sie Standardargumente in Python verwenden
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
[Python] Fehler- und Lösungsnotiz bei Verwendung von venv mit pyenv + anaconda
Atom: Hinweis zum Einrückungsfehler beim Kopieren des Python-Skripts in die Shell
[Python] Seien Sie vorsichtig, wenn Sie Druck verwenden
Bei Verwendung des Apollo-Verbunds mit gqlgen kann keine Bindung an einen Schnittstellenfehler hergestellt werden
"Wertfehler: Handler'file_output_handler 'kann nicht konfiguriert werden" beim Starten eines Python-Programms
Fehlerprotokoll-Ausgabemethode bei Verwendung des Bottle-Frameworks mit GAE / Python
Vorsichtsmaßnahmen bei der Verwendung von Phantomjs aus Python
Bei Verwendung von MeCab mit virtualenv python
Vorsichtsmaßnahmen bei Verwendung von sechs mit Python 2.5
Bei Verwendung regulärer Ausdrücke in Python
Umgang mit SSL-Fehlern beim Herstellen einer Verbindung zu S3 mit Python boto
[Python] Was tun, wenn ein Fehler im Zusammenhang mit der SSL-Authentifizierung zurückgegeben wird?
Vorsichtsmaßnahmen und Fehlerbehandlung beim Aufrufen der .NET-DLL aus Python mit Pythonnet
Von Python bis zur Verwendung von MeCab (und CaboCha)
Periodische Ausführungsverarbeitung bei Verwendung von tkinter [Python3]
Einführung in die diskrete Ereignissimulation mit Python # 1
Platzierung von Fabicon (bei Verwendung von Python, Flask, Heroku)
[Python, Multiprocessing] Verhalten für Ausnahmen bei Verwendung von Multiprocessing
Melden Sie sich mit Anforderungen in Python bei Slack an
SyntaxError aufgrund von Leerzeichen in voller Breite: ungültige Syntax
Versuchen Sie, Excel mit Python (Xlwings) zu betreiben.
Speichern Sie BigQuery-Tabellen mithilfe von Python in GCS
Einführung in die diskrete Ereignissimulation mit Python # 2
Warnung bei Verwendung von TensorFlow auf einem Mac
Wenn Python "Syntaxfehler: Nicht-ASCII-Zeichen ~" angezeigt wird
Über den Punkt, an dem Python 3.x aufgrund eines Fehlers aufgrund von caching_sha2_password hängen blieb
[Python] Was tun, wenn bei send_keys in Headless Chrome ein Fehler auftritt?
Ist pyenv kaputt? Python 3.x verweist beim Start aufgrund eines PYTHONPATH-Fehlers auf das 2.x-Modul
Beachten Sie bei der Verwendung von PyQtGraph mit Python Pyside die Reihenfolge des Imports
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
Das Ausgabe-Timing ist falsch, wenn die Standardausgabe (Fehlerausgabe) in eine Datei in Python konvertiert wird
Dinge, die Sie bei der Verwendung von Python beachten sollten, wenn Sie MATLAB verwenden
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
[Python] Dinge, die überprüft werden müssen, wenn in Django ein Unicode-Dekodierungsfehler auftritt
Fehler beim Installieren eines Moduls mit Python pip
So starten Sie Python (Flask) beim Start von EC2
#Monte Carlo-Methode zum Ermitteln des Umfangsverhältnisses mit Python
Vorgehensweise zur Verwendung der WEG-API von TeamGant (mit Python)
Einführung in 4 Möglichkeiten zur Überwachung von Python-Anwendungen mit Prometheus
[Einführung in die Udemy Python3 + -Anwendung] 38. Bei der Beurteilung von None
[Python] Vorsichtsmaßnahmen beim Zuweisen von Werten zu mehrdimensionalen Arrays