Numpy-Installation scheitert

Probleme bei der Installation?
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Freitag 4. Mai 2007, 14:07

Hi,
wenn ich versuche auf win xp und python 2.4.4 numpy zu installieren
C:\Python24\Lib\site-packages\numpy>python setup.py install
Warning: Assuming default configuration (distutils\command/{setup_command,setup}
.py was not found)
Appending numpy.distutils.command configuration to numpy.distutils
Ignoring attempt to set 'name' (from 'numpy.distutils' to 'numpy.distutils.comma
nd')
Warning: Assuming default configuration (distutils\fcompiler/{setup_fcompiler,se
tup}.py was not found)
Appending numpy.distutils.fcompiler configuration to numpy.distutils
Ignoring attempt to set 'name' (from 'numpy.distutils' to 'numpy.distutils.fcomp
iler')
non-existing path in 'distutils': 'site.cfg'
Appending numpy.distutils configuration to numpy
Ignoring attempt to set 'name' (from 'numpy' to 'numpy.distutils')
Appending numpy.testing configuration to numpy
Ignoring attempt to set 'name' (from 'numpy' to 'numpy.testing')
Warning: Assuming default configuration (f2py\lib\parser/{setup_parser,setup}.py
was not found)
Appending numpy.f2py.lib.parser configuration to numpy.f2py.lib
Ignoring attempt to set 'name' (from 'numpy.f2py.lib' to 'numpy.f2py.lib.parser'
)
Appending numpy.f2py.lib configuration to numpy.f2py
Ignoring attempt to set 'name' (from 'numpy.f2py' to 'numpy.f2py.lib')
F2PY Version 2_3650
Appending numpy.f2py configuration to numpy
Ignoring attempt to set 'name' (from 'numpy' to 'numpy.f2py')
Ignoring attempt to set 'version' (from None to '2_3650')
Traceback (most recent call last):
File "setup.py", line 29, in ?
setup(configuration=configuration)
File "C:\Python24\Lib\site-packages\numpy\distutils\core.py", line 144, in set
up
config = configuration()
File "setup.py", line 9, in configuration
config.add_subpackage('core')
File "C:\Python24\Lib\site-packages\numpy\distutils\misc_util.py", line 765, i
n add_subpackage
caller_level = 2)
File "C:\Python24\Lib\site-packages\numpy\distutils\misc_util.py", line 748, i
n get_subpackage
caller_level = caller_level + 1)
File "C:\Python24\Lib\site-packages\numpy\distutils\misc_util.py", line 695, i
n _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "C:\Python24\Lib\site-packages\numpy\core\setup.py", line 31, in configur
ation
open(generate_umath_py,'U'),generate_umath_py,
IOError: [Errno 2] No such file or directory: 'core\\code_generators\\generate_u
math.py'

C:\Python24\Lib\site-packages\numpy>
erhalte ich diesen fehler hier.
Nochmal zum Verständnis: In meiner Numpyanleitung steht, dass ich die Funktionen mitells import Numeric im Python aufrufen muss (ich will arrays usw benutzen). Das macht doch keinen Sinn? Wieso benutze ich nicht import numpy?
Python rockt.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Freitag 4. Mai 2007, 15:22

Numeric und NumPy sind zwei verschiedene Module. Ohne es jetzt genau im Kopf zu haben könnte es sein, dass NumPy ein `import Numeric` aus Gründen der Abwärtskompatibilität zum älteren Numeric gestattet.
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Freitag 4. Mai 2007, 17:33

Ok, das kann wohl sein. Dann ist die Dokumentation zu Numpy aber sehr irreführend. :roll:

Ich habe nun mal alles (numpy, numeric, numarray) installiert und mit "from Numeric import *" Erfolg gehabt. Nun funktionieren "Befehle" wie array, zeros oder .shape - immerhin. Vielleicht sollte ich nun nach try and error wieder Komponenten deinstallieren, was meint ihr?

Viele Grüße
Michi
Python rockt.
BlackJack

Freitag 4. Mai 2007, 18:20

Die Namensgebung ist ziemlich verworren. Bei Numeric sprach man damals auch von Numpy, womit aber nicht das aktuelle `numpy`-Modul gemeint war. Die Doku ist wahrscheinlich noch für Numeric. Das aktuellste Modul ist jedenfalls `numpy`.
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Freitag 4. Mai 2007, 20:28

Hmm, wo gibts denn die aktuelle! Doku zu Numpy!, hmm?
Python rockt.
BlackJack

Freitag 4. Mai 2007, 21:32

Die aktuelle kann man kaufen. Ansonsten tut's auch die alte plus Fragen auf der Mailingliste vom Projekt.
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Montag 7. Mai 2007, 10:49

Hallo,
hilfreich wäre es noch, wenn ich die Version von einem Modul im Python ausgeben lassen könnte. Also, ich lade erste etwas via "import modul_name" und möchte dann die Version von diesem Modul wissen, geht das?

Danke und Grüße
Python rockt.
BlackJack

Montag 7. Mai 2007, 10:55

Da es keinen generellen Mechanismus gibt um Versionsinformationen an Module oder Packages zu binden, geht das nur wenn die Programmierer da selbst etwas vorsehen. Es gibt einige Programmierer die ein Attribut `__version__` definieren. Bei `numarray` und `numpy` gibt's das:

Code: Alles auswählen

In [27]: numarray.__version__
Out[27]: '1.5.1'

In [28]: numpy.__version__
Out[28]: '1.0rc1'
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Montag 7. Mai 2007, 18:22

Vielen Dank für Eure Tipps. Leider funktioniert es nun nach einigen Umstellungen wieder wegen Numeric nicht:

Code: Alles auswählen

>>> from Numeric import *
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "C:\Python24\lib\site-packages\Numeric\Numeric.py", line 124, in ?
    arrayrange = multiarray.arange
NameError: name 'multiarray' is not defined
Weiss nochmal wer Rat? Danke.
Python rockt.
BlackJack

Montag 7. Mai 2007, 20:04

Dann ist `Numeric` irgendwie nicht richtig installiert. Musst Du denn unbedingt `Numeric` benutzen? Das ist das älteste von den drei Packages und wird nicht mehr weiterentwickelt. Aktuell ist `numpy`.
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Montag 7. Mai 2007, 23:08

Ich würde gerne Numpy statt Numeric benutzen, allerdings bekomme ich dann einen Haufenfehlermeldungen bei dem Programmcode, welchen in gerade bearbeite.

"No module multiarray" oder etwas wie "global name multiarray not found"...

Es werden eben im Code Befehle wie take, array, zeros, put, where usw... rund um Arrays benutzt, deswegen brauche ich ja so ein Package. Einen Weg das alles sauber undeinfach auf Numpy umzustellen, habe ich trotz intensiver Recherche nicht gefunden. Irgendwie weiss es ja auch niemand genau zu erklären, wo die Unterschiede liegen, wie installiert werden muss oder was umgestellt werden muss und wer und was jetzt mit Numeric funktioniert und was mit Numpy.

Soll nicht zu motzig klingen, schon gar nicht in deine Richtung, ich bin ja für jede kleine Antwort sehr dankbar!!! :)

Ach ja: import numeric geht aber, komisch oder?

Grüße
Michi
Python rockt.
BlackJack

Montag 7. Mai 2007, 23:33

Was für ein Programm bearbeitest Du denn und was genau möchte dieses Programm von den drei Packages haben? Das ist es was Du dann installieren musst.

Wo kommt `numeric` her? Ich habe alle drei Packages installiert kann aber `numeric` nicht importieren:

Code: Alles auswählen

In [74]: import numeric
---------------------------------------------------------------------------
exceptions.ImportError       Traceback (most recent call last)

/home/new/<ipython console>

ImportError: No module named numeric

In [75]: import Numeric

In [76]: import numarray

In [77]: import numpy
Was enthält Dein `numeric` denn?
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Dienstag 8. Mai 2007, 23:44

Sorry, mit "numeric" ist natürlich "Numeric" gemeint, da sollte ich auf Tippfehler achten, Sorry dafür.
Mein Programm benötigt den Umgang mit Arrays, daher wird irgendwann davor (ich habe hier mehrere py-Dateien, welche import-Vorgänge über mehrere Verzeichnisse vornehmen) eben "from Numeric import *" gerufen.
Ich habe Numeric installiert und dort in der numeric.py kommt es in Zeile 20 glaube ich zum "import multiarray" und das spuckt die Fehlermeldung aus (siehe oben). An den Numericdateien habe ich nichts verändert.

Ich benötige - um auf den anderen Teil Deiner Antwort einzugehen - folgende Arraymethoden /-befehle

put
take
where
zeros
ones
shape

Grüße
Python rockt.
BlackJack

Mittwoch 9. Mai 2007, 09:48

Also hast Du ein Programm dass Du nicht selbst geschrieben hast, was `Numeric` importiert. Damit kannst Du `numarray` und `numpy` ja schon einmal vergessen wenn Du das Programm nicht selber anpassen willst.

Wenn ``import Numeric`` nicht funktioniert, dann ist `Numeric` höchstwahrscheinlich nicht richtig installiert. `Numeric.multiarray` ist eine C-Erweiterung. Gibt's denn eine `multiarray.pyd` im Numeric-Verzeichnis?
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Mittwoch 9. Mai 2007, 10:28

Ja, ich habe ein Programm, welches inhaltlich neu angepasst werden muss (Thema: hydrologische Berechnungen). Eigentlich wurde mir gesagt, dass man gerne sehen würde, dass alle Numeric-Sachen auf numpy umgestellt werden, da Numeric ja am auslaufen ist, nicht wahr?

Die von Dir erwähnte multiarray.pyd liegt im Numericverzeichnis, der Fehler taucht trotzdem auf. Kann man die multiarray.pyd denn irgendwie in ein Visual Studio C++ Projekt importieren? Dort will ich nämlich eine EXe-Datei erstellen, welche später dioe Pythondateien rufen soll. Funktionieren die Pythonbefehle nun nicht, weil vielleicht der EXe etwas fehlt?

Grüße
Python rockt.
Antworten