Was tun, wenn der Fehler RuntimeError angezeigt wird: Python wird nicht als Framework installiert, wenn Sie versuchen, matplitlib und pylab in Python 3.3 zu verwenden

Hintergrund

Also habe ich mich für maschinelles Lernen mit Scikit-learn entschieden. Ich habe mich auch für matplotlib entschieden, weil ich die Figur visualisieren wollte. Als ich pylab importierte, um matplotlib einfach zu verwenden, bekam ich den Fehler RuntimeError: Python ist nicht als Framework installiert, also habe ich die Einstellungen von matplotlib geändert und das Problem gelöst.

Installationsverfahren

$ pip install scikit-learn
$ brew install freetype
$ sudo pip install python-dateutil
$ sudo pip install pyparsing
$ sudo pip install matplotlib

Matplotlib installieren

Ist notwendig. Es gibt viele andere Dinge, die Sie brauchen. Weitere Informationen finden Sie unter Offizielle Seite.

Wenn Sie Freetype installieren, wird auch die abhängige libpng eingeschlossen.

Referenz http://djakarta-trap.net/blog/2013/06/07/install_matplotlib/

Es ist ein Problem aufgetreten

In einer Dialogumgebung

ipython3


import pylab

Dann

RuntimeError: Python is not installed as a framework. The
Mac OS X backend will not be able to function correctly if Python
is not installed as a framework. See the Python documentation for
more information on installing Python as a framework on Mac OS X.
Please either reinstall Python as a framework, or try one of the other 
backends.

Ein Fehler ist aufgetreten.

Umfrage

Zuerst überprüfte ich, ob es Leute gab, die mit demselben Fehler in Schwierigkeiten waren und ihn lösten.

Diskussion über ein Projekt mit matplotlib namens yt http://hg.yt-project.org/yt/issue/642/cannot-import-pylab-on-os-x-using

Japanischer Blog-Artikel, bei dem dasselbe Problem aufgetreten ist: http://asahima.hatenablog.com/entry/2013/10/11/201119

matplotlib-Probleme auf dem ursprünglichen Github https://github.com/matplotlib/matplotlib/issues/2361

Anscheinend wurde es auch im Oktober 2013 nicht gelöst.

Ursache

Das Backend für das Zeichnen von Matplotlib-Bildern (Referenz http://matplotlib.org/faq/usage_faq.html#what-is-a-backend) ist "macosx" und wird standardmäßig mit der Cocoa-API gerendert. GTK Agg und Qt4 Agg sind nicht standardmäßige Backends. Wenn Sie unter Linux oder Windows arbeiten, legen Sie natürlich ein anderes Backend als macosx fest.

Meine Argumentation

Das Problem ist, dass ich in meiner Umgebung pyenv verwendet habe, um Python 3.3 an einem anderen Ort zu installieren als ursprünglich auf dem OSX-System. In diesem Fall ist es möglicherweise nicht möglich, mit der Cocoa-API zu zeichnen. Beim Importieren von Pylab tritt daher nur für den Fall ein Fehler auf.

Das Festlegen des Backends für etwas anderes als Macosx löst das Problem.

Lösungen

Da Sie matplotlib mit pip installiert haben, sollten Sie ein Verzeichnis namens ~ / .matplotlib haben. Erstellen Sie dort eine Datei namens matplotlibrc.

~/.matplotlib/matplotlibrc


backend : TkAgg

Und geben Sie an, TkAgg als Backend zu verwenden.

Wie schreibe ich matplotlibrc Referenz http://matplotlib.org/users/customizing.html

Experiment

Ich habe den Code, der das Ergebnis von sklearn in pylab visualisiert und in diesem Blog-Artikel http://sucrose.hatenablog.com/entry/2013/05/25/133021 vorgestellt wird, in einer interaktiven Umgebung ausgeführt.

from sklearn.datasets import load_digits
import pylab as pl 
digits = load_digits()
pl.gray() 
pl.matshow(digits.images[0]) 
pl.show() 

figure_2.png

Auf diese Weise konnte ich auch mit TkAgg eine schöne Figur zeichnen.

Recommended Posts

Was tun, wenn der Fehler RuntimeError angezeigt wird: Python wird nicht als Framework installiert, wenn Sie versuchen, matplitlib und pylab in Python 3.3 zu verwenden
Was tun, wenn bei der Installation von openCV 3 der Fehler "Fehler: opencv3: Unterstützt nicht das Erstellen von Python 2- und 3-Wrappern" angezeigt wird
Was tun, wenn beim Versuch, model.save mit Keras zu modellieren, der Fehler "get_config" überschrieben werden muss?
[Mac OS] Was tun, wenn Python nicht als Framework installiert ist? Wird angezeigt, wenn der Import von matplot lib ausgeführt wird.
Was tun, wenn beim Versuch, eine Nachricht in task.loop () unmittelbar nach dem Start zu senden, eine Fehlermeldung angezeigt wird?
Was tun, wenn in Python minus Null angezeigt wird?
Was tun, wenn Swagger-Codegen mit Python und Importfehler ausgeführt wird? Es wird kein Modul mit dem Namen angezeigt
Was tun, wenn beim Versuch, pip mit pyenv zu verwenden, ein undefinierter Fehler angezeigt wird?
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
Was tun, wenn auf pipenv der Fehler "Keine Versionen gefunden" angezeigt wird?
Was tun, wenn bei Verwendung von Python mit der NetBeans-IDE die Warnung "Falsche Python-Plattform" angezeigt wird?
Was tun, wenn Sie "locale.Error: nicht unterstützte Gebietsschemaeinstellung" erhalten, wenn Sie den Tag vom Datum in Python abrufen?
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Was tun, wenn beim Versuch, auf den Git-Hub zuzugreifen, der Fehler "Berechtigung verweigert" (öffentlicher Schlüssel) angezeigt wird?
Was tun, wenn "Python nicht konfiguriert" angezeigt wird? Verwenden von PyDev in Eclipse
[Python] Dinge, die überprüft werden müssen, wenn in Django ein Unicode-Dekodierungsfehler auftritt
Was tun, wenn der Fehler angezeigt wird? Das Ziel-WSGI-Skript '/ var / www / xxx / xxx.wsgi' kann nicht als Python-Modul geladen werden
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Was tun, wenn beim Konvertieren von PySparkDataFrame in PandasDataFrame ein Speicherfehler auftritt?
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
Was tun, wenn bei Verwendung von ts-node-dev unter Linux der Fehler "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM" angezeigt wird?
Was tun, wenn Sie Python auf IntelliJ ausführen und mit einem Fehler beenden?
Was tun, wenn bei yum ein Metalink für Repository-Fehler nicht abgerufen werden kann?
Was tun, wenn beim Ausführen von "certbot erneuern" in der CakePHP-Umgebung eine Fehlermeldung angezeigt wird?
Was tun, wenn Sie den Papierkorb in Lubuntu 18.04 nicht verwenden können?
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
Was tun, wenn Sie eine Binärdatei katzen oder verfolgen und das Terminal verstümmelt ist?
NameError: Der globale Name'dot_parser 'ist nicht definiert und was ist zu tun, wenn er in Python angezeigt wird?
Was tun, wenn in python json .dumps eine Dezimalstelle enthalten ist?
Was tun, wenn Sie die Rastersuche von sklearn in Python nicht verwenden können?
Was passiert, wenn Sie in Python "A, B als C importieren"?
Was tun, wenn bei der Installation von CentOS auf VirtualBox die Meldung "Die Sitzung konnte nicht geöffnet werden" angezeigt wird
Was tun, wenn Sie sich über "Wertefehler: unbekannt lokal: UTF-8" in python manage.py syncdb ärgern?
Was tun, wenn beim Importieren von Lebensläufen ein symbolischer Linkfehler auftritt, während versucht wird, OpenCV in Python zu installieren?
Was tun, wenn bei der Installation von wxPython unter Mac OS X die Meldung "~ .pkg" beschädigt wird und nicht geöffnet werden kann?
Was tun, wenn im Selenium Chrome-Treiber ein Versionsfehler auftritt?
Was tun, wenn der Fehler angezeigt wird? Die Eingabe enthält NaN, unendlich oder einen Wert, der für dtype zu groß ist ('float64').
[Python] Typ Fehler: 'WebElement'-Objekt ist nicht iterierbar Was tun, wenn ein Fehler auftritt?
Was zu tun ist, wenn es nicht in der Sudoers-Datei enthalten ist. Dieser Vorfall wird gemeldet.
Was tun, wenn in Hydrogen "Kein Kernel für Sprachpython gefunden" angezeigt wird?
Was tun, wenn der Druckbefehl selbst einen Fehler in Mayas Python verursacht?
Was tun, wenn in pycurl (einer von ihnen) "(35, 'SSL-Verbindungsfehler')" angezeigt wird?
Wenn Sie den Fehler "Basismatrix ist singulär zur Arbeitsgenauigkeit" in GLPK erhalten
Was tun, wenn Pythons IntelliSense in VS Code unter Windows nicht angezeigt wird?
So installieren und verwenden Sie pyenv. Was tun, wenn Sie die Python-Version nicht wechseln können?
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
Was tun, wenn Python in pyenv nicht von der Systemversion wechselt?
Eine Funktionsnotiz, die nützlich ist, wenn Sie den Debugger aufrufen möchten, wenn beim Ausführen eines Python-Skripts ein Fehler auftritt.
Was tun, wenn bei Do and Return in einem Golang-Test ein Fehler mit zu vielen Eingabeargumenten auftritt?
Selbst wenn Sie in pandas.DataFrame nur eine bestimmte Spalte zuweisen und einen Index anhängen, müssen Sie sich nicht um die Reihenfolge der Daten kümmern
Installieren Sie die Python-Bibliothek, wenn Sie kein Sudoer sind (oder wenn Sie nicht möchten, dass neue Benutzer Sudoer sind, es Ihnen aber nichts ausmacht, die Python-Bibliothek einzuschließen).
Was tun, wenn Overalls "Abdeckung unbekannt" werden?
Was tun, wenn in tf.train.start_queue_runners () ein 0xC0000005-Fehler auftritt?
Was tun, wenn Sie sich nicht als root anmelden können?
Was tun, wenn das Bild nicht mit matplotlib usw. im Docker-Container angezeigt wird?
Was tun, wenn ein nicht in pom.xml definiertes Glas zu einem fehlenden Artefakt wird?
[Python] Wenn Sie Ihr eigenes Paket im oberen Verzeichnis importieren und verwenden möchten