Seite 1 von 1
Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 07:57
von pberg24
Hallo zusammen,
ich bin neu in diesem Forum und habe mich angemeldet, weil ich seit mehreren Wochen keine Lösung für mein Dilemma finde und mir langsam echt die Ideen (und der Spaß an allem) schwindet.
Ausgangssituation: Ich bin ein Python Neuling, habe mir als Vorsatz 2020 in die Welt des Programmierens einzutauchen, genommen. Erstmal viel rumgelesen, mit vielen Freunden unterhalten, die da schon deutlich professioneller sind und dann einen Udemy Kurs zugelegt, den ich momentan durchgehe. Klappt soweit alles hervorragend, ich habe einige Basics bisher gelernt und es macht mir sehr viel Spaß.
Nun bin ich bei einem Kapitel angekommen, bei welchem zum ersten Mal Grafiken gezeichnet/ausgewertet werden sollen. Und da startet das ganze Dilemma.
Ich möchte, für ein erstes Verständnis, folgende einfache Syntax ausführen:
Code: Alles auswählen
import matplotlib.pyplot as plt
%matplotlib inline
x = [1, 2, 3]
y = [2, 5, 3]
plt.plot(x,y)
plt.show()
Zusatzinformation: Ich bin auf meinem (leider etwas älteren) MacBook unterwegs:
macOS: High Sierra, Version 10.13.6
Anaconda: Conda version 4.8.3
Jupyter Notebook: Version 6.0.3
Python: Version 3.7
Nun bekomme ich bei Ausführung der Syntax diesen Fehler:
Ich habe zwar schon jegliche Sachen ausprobiert, bin aber gewillt nochmal jeglichen Rat von euerer Seite mitaufzunehmen, damit ich endlich das Problem lösen und weitermachen kann, es zerrt wirklich an meiner Laune mittlerweile.
Vielen Dank schon mal an alle!

Re: Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 09:17
von __deets__
Was sagt denn die Konsole/Terminal, in welcher du das notebook gestartet hast?
Re: Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 09:44
von pberg24
__deets__ hat geschrieben: Montag 6. April 2020, 09:17
Was sagt denn die Konsole/Terminal, in welcher du das notebook gestartet hast?
Code: Alles auswählen
KernelRestarter: restarting kernel (1/5), keep random ports
kernel 6f779fe7-3519-45aa-af7b-cde8fd846858 restarted
Gestern hieß es noch:
Re: Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 09:57
von __deets__
Autsch. Das klingt nach einem harten Absturz. Es ist nicht besonders befriedigend als Antwort, aber ich wuerde dir raten, die Installation nochmal vorzunehmen. Sicherheitshalber. Wenn das nichts bringt, koennen wir den Python-Interpreter mal im lldb starten, respektive an den Prozess anbinden. Dazu musst du aber Xcode installiert haben etc. Und dann bekommt man hoffentlich einen stacktrace.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 10:15
von pberg24
Okay, d.h. das Vorgehen wäre Anaconda zu deinstallieren und anschließen neu zu installieren, richtig?
Re: Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 12:27
von __deets__
Oder gar kein anaconda, denn aus meiner Perspektive ist das hauptsaechlich fuer Windows nuetzlich. Du kannst stattdessen auch homebrew benutzen. Allerdings habe ich auch die ueblichen Apple Entwicklertools auf dem Rechner.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 13:58
von pberg24
Auweia. Ich habe Anaconda deinstalliert und kann es jetzt nicht mehr installieren.
Ich glaube jetzt habe ich endgültig in den libraries usw. etwas zerschossen
Re: Matplotlib killt meinen Kernel?!
Verfasst: Montag 6. April 2020, 14:39
von __deets__
Oeh. Das mag sein, waere aber eher bedenklich. Wie gesagt, probier mal homebrew.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 10:51
von pberg24
Kannst du mir noch kurz aufführen warum es besser ist Anaconda über Homebrew zu installieren, anstatt direkt?
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 11:51
von __deets__
Das habe ich nicht gesagt. Ich habe gesagt, du sollst Python direkt installieren. Und mein Argument war, dass Anaconda bei dir kaputt zu sein scheint, und du es darum eh nicht benutzen kannst.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 12:20
von pberg24
Stimmt, hast recht.
Ich habe über das Terminal schon mal rausgefunden, dass ich Python 2.7.16 drauf habe. (Wahrscheinlich in irgendeiner Harakiri Aktion installiert per pip)
Sollte ich nun erst diese Version entfernen, bevor ich mit Homebrew an die Sache rangehe, oder ist das egal? Und falls ich diese momentane Version entfernen soll, wie gehe ich dabei am besten vor?
Danke schon mal!
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 12:23
von __deets__
Python2.7 ist schon von Apple beigelegt, und du solltest das weder anfassen, noch benutzen. Und mit pip kann man Paketer *fuer* Python installieren, aber nicht Python selbst. Damit hast du das also garantiert nicht installiert. Lass es bitte in Ruhe, wenn du das kaputt machst kann es sein, das irgendwas in deinem Mac nicht mehr tut.
Einfach parallel mit homebrew arbeiten. Python 3 nehmen. Das war's.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 12:43
von pberg24
Alles klaro...entschuldige bitte das Durcheinander..
Ich werde mich mal Homebrew widmen und mich dann wieder melden. Danke für deine Zeit.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 13:15
von pberg24
__deets__ hat geschrieben: Dienstag 7. April 2020, 12:23Einfach parallel mit homebrew arbeiten. Python 3 nehmen. Das war's.
Also ich hab jetzt erfolgreich homebrew installiert und python3 ebenso. Ausschließlich über das Terminal zu arbeiten finde ich nicht so schön, würde gerne wieder über jupyter notebook arbeiten. Ist das auch möglich?
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 13:27
von __deets__
Ja natuerlich. Man kann jupyter genauso installieren wie alles andere auch. Diesmal mit pip. Um sicher zu gehen, dass es das richtig ist, am besten so:
wobei python3 eben das homebrew python sein muss.
Du koenntest dir ueberlegen pipenv zu installieren und das zu benutzen, bevor du jupyter installierst, damit du ein virtualenv bekommst. Das hat den Vorteil, dass du darin rumsauen kannst, und nix kaputt machst im homebrew-Python.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 13:46
von pberg24
Das halte ich für eine gute Idee.
Ich gehe davon aus, dass ich pipenv mit folgendem Terminaleintrag installieren kann?!:
Wie muss ich mir das vorstellen? Bekomme ich mit pipenv eine virtuelle Umgebung und kann dann in dieser virtuellen Umgebung mir die gewünschten Packages laden?
Wie geh ich nach der pipenv Installation vor, d.h. wie "bewege" ich mich in der virtuellen Umgebung?
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 14:01
von __deets__
Ob das geht weiss ich nicht, wenn das in brew drin ist, ja. Ansonsten ist die Installation und wie man mit pipenv arbeitet man am besten in dessen Dokumentation nachzulesen.
Ich sitze gerade nicht an meinem Mac, darum kann ich nicht selbst in homebrew schauen.
Re: Matplotlib killt meinen Kernel?!
Verfasst: Dienstag 7. April 2020, 14:55
von pberg24
Mein Problem ist tatsächlich gelöst. Ich habe folgende Codes ausgeführt:
mit
kann ich nun wieder wie gewohnt arbeiten und mein matplotlib Problem scheint sich in Luft aufgelöst zu haben, da die Syntax nun ausgeführt und ausgegeben werden kann, ohne dass ein Kernel stirbt.
Hierzu noch meine abschließende Fragen, die vielleicht jemand beantworten kann:
1. Ich bin es aus Anaconda gewohnt, dass mein Jupyter Notebook autosaved in regelmäßigen Abständen. Das vermisse ich hier, kann ich das irgendwie aktivieren?
2. Wie kann ich mir meine pipenv environments anzeigen lassen? Ich weiß ehrlich gesagt nicht wie mein momentanes environment heißt bzw. kann mich nicht entsinnen, einem erstellten environment jemals einen Namen gegeben zu haben..
3. Graphen die mit matplotlib ausgegeben werden in meinen Jupyter Notebook sind "inline" also in der Ausgabe ins Notebook eingearbeitet. Aus Interesse: Kann ich mir den Graphen in einem extra Fenster ausgeben lassen?
Danke und Grüße!
Re: Matplotlib killt meinen Kernel?!
Verfasst: Mittwoch 8. April 2020, 13:32
von pberg24
Keiner der zu diesen drei Fragen einen Rat hat?
PS: Danke vor allem an __deets__ für die bisherige großartige Hilfe
