Matplotlib killt meinen Kernel?!

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

Hallo zusammen, :geek:

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:

Bild

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! :idea:
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was sagt denn die Konsole/Terminal, in welcher du das notebook gestartet hast?
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

__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:

Code: Alles auswählen

Illegal Instruction: 4
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

Okay, d.h. das Vorgehen wäre Anaconda zu deinstallieren und anschließen neu zu installieren, richtig?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

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
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Oeh. Das mag sein, waere aber eher bedenklich. Wie gesagt, probier mal homebrew.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

Kannst du mir noch kurz aufführen warum es besser ist Anaconda über Homebrew zu installieren, anstatt direkt?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

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!
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

Alles klaro...entschuldige bitte das Durcheinander..

Ich werde mich mal Homebrew widmen und mich dann wieder melden. Danke für deine Zeit.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

__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?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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:

Code: Alles auswählen

python3 -mpip install <paketname>
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.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

Das halte ich für eine gute Idee.

Ich gehe davon aus, dass ich pipenv mit folgendem Terminaleintrag installieren kann?!:

Code: Alles auswählen

brew install pipenv
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?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

Mein Problem ist tatsächlich gelöst. Ich habe folgende Codes ausgeführt:

Code: Alles auswählen

brew install pipenv

Code: Alles auswählen

pipenv shell

Code: Alles auswählen

pipenv install jupyter

Code: Alles auswählen

pipenv install matplotlib
mit

Code: Alles auswählen

pipenv run jupyter notebook
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!
pberg24
User
Beiträge: 11
Registriert: Montag 6. April 2020, 07:37

Keiner der zu diesen drei Fragen einen Rat hat? :(

PS: Danke vor allem an __deets__ für die bisherige großartige Hilfe :!:
Antworten