Matrixmultiplikation Attribute Error

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
stoffy
User
Beiträge: 5
Registriert: Donnerstag 14. Januar 2016, 13:10

Guten Tag,

ich habe hier ein Skript, das einwandfrei auf einem Uni-Computer läuft. Wenn ich den Code auf meinem Laptop ausführen will, kriege ich jedes Mal ein Attribute Error bei Matrixmultiplikation. HIer ist ein Beispiel, was ich meine:

Code: Alles auswählen

import numpy as np
from numpy import*

a = [[1, 0], [0, 1]]
b = [[4, 1], [2, 2]]
print np.matmul(a, b)
Dann bekomme ich:

Code: Alles auswählen

AttributeError: 'module' object has no attribute 'matmul'
Über Google fand ich leider keine Antwort. Wie gesagt, im Uni PC-Pool klappt alles. Fehlt bei meinem Python vielleicht irgendwas? Bin ratlos. Bei np.dot o.ä. das gleiche Problem.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen im Forum!

Ich rate mal: Dein Skript heisst "numpy.py"? Oder liegt so eines im gleichen Verzeichnis?

Daneben solltest du Sternchenimporte vermeiden, erst recht wenn du die so importierten Namen gar nicht benutzt.
stoffy
User
Beiträge: 5
Registriert: Donnerstag 14. Januar 2016, 13:10

Hallo und danke für die Antwort,

mein Skript (für Testzwecke erzeugt) heißt matmul.py. Das ursprüngliche hieß anders (poisson.py). Skripte wie "numpy.py" habe ich nicht :)
Habe jetzt versucht, das Skript in verschiedene Ordner zu legen, aber überall das gleiche Problem. Die Zeile

Code: Alles auswählen

from numpy import*
habe ich auskommentiert.
BlackJack

@stoffy: Es darf halt nicht `numpy.py` heissen denn dann wird *das* als `numpy` importiert.
stoffy
User
Beiträge: 5
Registriert: Donnerstag 14. Januar 2016, 13:10

Ja, danke, das habe ich auch so verstanden. Aber das Skript heißt ja anders und funktioniert trotzdem nicht. Habt ihr andere Ideen?
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

@stoffy: wenn Du in die Dokumentation schaust, steht da "New in version 1.10.0.". Deine Version zuhause ist älter.
stoffy
User
Beiträge: 5
Registriert: Donnerstag 14. Januar 2016, 13:10

Ich habe nun Python auf 2.7.11 aktualisiert (von hier: https://www.python.org/downloads/), kriege aber trotzdem das gleiche Problem :(
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Es geht um die numpy Version, nicht um die von Python.

Zeig mal die Ausgabe von

Code: Alles auswählen

import numpy
print numpy.__file__
print numpy.__version__
stoffy
User
Beiträge: 5
Registriert: Donnerstag 14. Januar 2016, 13:10

Ok, ich habe tatsächlich die Numpy-Version 1.9.2.
Ich habe die 1.10.4 heruntergeladen und mit

Code: Alles auswählen

python setup.py install
im gleichen Verzeichnis installiert. Wenn ich mein ursprüngliches kleines Skript dort speichere, dann funktioniert die Matrixmultiplikation :D die Ausgabe zeigt auch, dass in diesem Verzeichnis die Version 1.10.4 "lebt".
Aber wie mache ich das ganze System-weit?
BlackJack

@stoffy: ``python setup.py install`` sollte eigentlich systemweit installieren.
Antworten