matplotlib und numpy

Probleme bei der Installation?
Antworten
Tabagari
User
Beiträge: 6
Registriert: Donnerstag 29. Dezember 2016, 17:17

Hallo,
bin mir nicht sicher, in welche Kategorie dieses Thema passt, hoffe hier ist okay.

Seit einem numpy update, bekomme ich folgenden Fehler, wenn ich matplotlib nutzen möchte:

RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9
Traceback (most recent call last):
File "test.py", line 1, in <module>
import matplotlib.pyplot as plt
File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 29, in <module>
import matplotlib.colorbar
File "/usr/lib64/python2.7/site-packages/matplotlib/colorbar.py", line 32, in <module>
import matplotlib.artist as martist
File "/usr/lib64/python2.7/site-packages/matplotlib/artist.py", line 14, in <module>
from .transforms import (Bbox, IdentityTransform, TransformedBbox,
File "/usr/lib64/python2.7/site-packages/matplotlib/transforms.py", line 39, in <module>
from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox,
ImportError: numpy.core.multiarray failed to import

Googlen hat ergeben, dass das ein typischer Fehler zu sein scheint, aber ich konnte dort nichts finden, was mir weiter geholfen hätte.

Bei der numpy Version, die automatisch mit der Installation von openSuse kam, hatte ich vorher keine Probleme.
Dann habe ich ein zusätzliches Programm installiert und diese Fehlermeldung erhalten, deswegen hatte ich es mit einem Update von numpy versucht. Jetzt kann ich matplotlib leider allgemein gar nicht mehr nutzen (schon import scheitert). Welche Version ich vorher hatte weiß ich leider nicht mehr sicher, ich dachte es sei 1.8 gewesen, habe jetzt deswegen diese installiert, aber es das hat nichts geändert.
Mit numpy kann ich weiterhin problemlos arbeiten.

Hatte jmd dieses Problem schon mal? (konnte kein ähnliches Thema finden, falls doch entschuldigt bitte)

Ich nutze python 2.7
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wenn so wie so alles nicht mehr funktioniert, wäre IMHO ein lohnenswerter Ansatz:

* alles Pakete, die über die Paketverwaltung installiert wurden, runter werfen (sofern man damit keine Abhängigkeiten zum Grundsystem von OpenSuse zerstört - sollte aber eigentlich nicht der Fall sein.
* ein Virtual Environment einrichten
* darin alles mit pip installieren, in der aktuellen Version

Gruß, noisefloor
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@Tabagari: matplotlib benutzt C-Erweiterungen, die für eine bestimmte numpy-Version compiliert wurden. Du mußt also ein zur numpy-Version passendes matplotlib installieren (unter Linux sollte bei der Installation dann matplotlib automatisch gegen die aktuell installierte numpy-Version gelinkt werden).
Tabagari
User
Beiträge: 6
Registriert: Donnerstag 29. Dezember 2016, 17:17

Vielen Dank!
Alles deinstallieren und nochmal neu machen wär auch meine Idee gewesen, hat aber seltsamerweise nicht funktioniert.
Ich hab das jetzt aber mal mit dem virtual environment versucht und das hat geklappt - vielen Dank für den Tipp! Ich wusste nicht, dass man mit sowas arbeiten sollte aber jetzt verstehe ich warum. Da macht man sich ja ganz schön schnell was kaputt.
Antworten