Wenn Du am ganz normalen Python-Prompt dieses Modul nicht importieren kannst, dann stimmt etwas mit der '*.pyd'-Datei nicht. Installiere doch einfach nochmal neu.
Ich würde auf jeden Fall erst einmal das Programm mit `Numeric` zum laufen bringen. Nur dann hast Du Vergleichsmöglichkeiten und kannst beim anpassen an `numpy` prüfen ob sich die alte Version gleich verhält.
Numpy-Installation scheitert
Ich habe Python 2.4 und dafür nun schon einige Male Numeric neuinstalliert, weil ich mir ähnliches auch schon dachte. Es funktioniert danach aber auch nicht. Vom prompt kann ich doch sowieso keine pyd-Datei importieren, oder?
funktioniert auf jeden Fall nicht. So lange ich diesen Punkt nicht aufgelöst habe, lasse ich auch die Finger erstmal von Umstellung auf numpy, macht ja keinen Sinn.
Mein Verdacht geht in eine andere Richtung: Irgendwer sagte doch, dass multiarray was mit C zu tun hat. Meine EXE kommt aus C++ und stellt in der 4er-Version eine Art Debugmodus für das Programm dar, in der 5er Version so zusagen die Releaseversion.
So. Bei der 5er Version stolpert die EXE, wenn sie die ganzen Pythondateien ruft, nicht. In der 4er Version hingegen kommt der "multiarray"-Fehler... Daher habe ich überlegt, ob man der EXE vorm Compilieren in Visual Studio vielleicht noch irgendetwas in der Art von "import multiarrays" mitgeben kann. Unterschiede zuer 5er-Version der EXE diesbezüglich kann ich leider nicht finden.
Viele Grüße
Code: Alles auswählen
from Numeric import multiarray
Mein Verdacht geht in eine andere Richtung: Irgendwer sagte doch, dass multiarray was mit C zu tun hat. Meine EXE kommt aus C++ und stellt in der 4er-Version eine Art Debugmodus für das Programm dar, in der 5er Version so zusagen die Releaseversion.
So. Bei der 5er Version stolpert die EXE, wenn sie die ganzen Pythondateien ruft, nicht. In der 4er Version hingegen kommt der "multiarray"-Fehler... Daher habe ich überlegt, ob man der EXE vorm Compilieren in Visual Studio vielleicht noch irgendetwas in der Art von "import multiarrays" mitgeben kann. Unterschiede zuer 5er-Version der EXE diesbezüglich kann ich leider nicht finden.
Viele Grüße
Python rockt.
Wie jetzt? Aus einem Deiner C++-Programme funktioniert der Aufruf aber vom Python-Prompt aus nicht!?
`*.pyd`-Dateien sind Module die in C geschrieben sind. Die lassen sich von Python aus importieren. Wären ja sonst ziemlich nutzlos. Also Dein ``import`` im letzten Beitrag muss auf jeden Fall funktionieren:
Wie installierst Du `Numeric` denn? Und passt die `Numeric`-Version zum Python-Interpreter? Verwenden Deine beiden C++-EXEn den selben Interpreter?
`*.pyd`-Dateien sind Module die in C geschrieben sind. Die lassen sich von Python aus importieren. Wären ja sonst ziemlich nutzlos. Also Dein ``import`` im letzten Beitrag muss auf jeden Fall funktionieren:
Code: Alles auswählen
In [74]: from Numeric import multiarray
In [75]: multiarray.arange(5)
Out[75]: array([0, 1, 2, 3, 4])
1) Deine Importanweisung kann ich im Pythoninterpreter ausführen.
2) Es wird mir bei der einen EXE Datei eben gemeldet:
3) Numeric ist in gw.py mit
installiert[/code]
Ich habe übrigens Python 2.4 und Numeric auch für Python 2.4 - hab ich nachgesehen.from Numeric import multiarray
2) Es wird mir bei der einen EXE Datei eben gemeldet:
Code: Alles auswählen
Import can't find module, or can't find name in module.
No module named multiarray
line 20 in ? in file F:\......\gw.py
line 91 in ? in file ....\Python24\lib\site-packages\Numeric\Numeric.py
Code: Alles auswählen
from Numeric import *
Python rockt.
Dann liegt das Problem bei der EXE aus 2). Benutzt die vielleicht eine andere Pythonversion aber trotzdem das Library-Verzeichnis der 2.4 weil irgendwelche Umgebungsvariablen darauf verweisen?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Nein, so zeigst du, wie du es importierst. BlackJack fragte aber wie du es installiert hast.mod_che hat geschrieben:3) Numeric ist in gw.py mitinstalliertCode: Alles auswählen
from Numeric import *
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hi,
es hat sich einiges getan, daher mal auch Infos meinerseits:
Ich habe es für die Releaseversion nun geschafft anstatt Numeric nun numpy zu benutzen, dafür muss ich diese Anweisungen einfügen:
Nun kann ich Befehle wie
Zur Installationsfrage: numpy und auch Numeric habe/hatte ich via Windowsinstaller *.msi installiert. Natürlich immer in der für Python 2.4 gedachten Variante.
Der Hinweis mit den Umgebungsvariablen ist gar nicht schelcht. Ich hatte da mal ein Problem und haben dann aber konsequent alle alten Python-DLLs (wie python23.dll) rausgeworfen (aus allen PATH-Verzeichnissen).
Natürlich besteht ja jetzt auch die relaistische Chance, dass die Debug-EXE nicht mehr meckert, wenn ich numpy benutze und nicht Numeric. Mal sehen...
Vielen Dank weiterhin für die Geduld, mittlerweile dürfte dieser Thread viele Infomationen für andere beinhalten, ist ja auch nicht übel.... Grüße[/code]
es hat sich einiges getan, daher mal auch Infos meinerseits:
Ich habe es für die Releaseversion nun geschafft anstatt Numeric nun numpy zu benutzen, dafür muss ich diese Anweisungen einfügen:
Code: Alles auswählen
from numpy import *
from numpy import array
import numpy as Numeric
import numpy as numpy
Numeric.Int = Numeric.int32
Numeric.Float = Numeric.float64
oderNumeric.array
benutzen.Numeric.zeros
Zur Installationsfrage: numpy und auch Numeric habe/hatte ich via Windowsinstaller *.msi installiert. Natürlich immer in der für Python 2.4 gedachten Variante.
Der Hinweis mit den Umgebungsvariablen ist gar nicht schelcht. Ich hatte da mal ein Problem und haben dann aber konsequent alle alten Python-DLLs (wie python23.dll) rausgeworfen (aus allen PATH-Verzeichnissen).
Natürlich besteht ja jetzt auch die relaistische Chance, dass die Debug-EXE nicht mehr meckert, wenn ich numpy benutze und nicht Numeric. Mal sehen...
Vielen Dank weiterhin für die Geduld, mittlerweile dürfte dieser Thread viele Infomationen für andere beinhalten, ist ja auch nicht übel.... Grüße[/code]
Python rockt.
Hoi,
habe ich ja noch gar nicht gesehn, diesen Post ...
Nochmal ein Kommentar zum Code:
Außerdem ist der *-Import nicht so dolle. Muß man das hier noch begründen? (=> Forensuche )
Aber ich will auch nicht inquisitorisch sein. Manchmal ist ja die Hauptsache, daß die Dinge wieder funktionieren. Glückwunsch!!!
Gruß,
Christian
habe ich ja noch gar nicht gesehn, diesen Post ...
Nochmal ein Kommentar zum Code:
Das ist nicht sinnvoll. Für eine gewisse Zeit der Überbrückung kann man Numeric so maskieren, damit die Programme wieder laufen. Ansonsten sollte man sich schon die Arbeit machen voll zu numpy zu migrieren, weil nur so dauerhafte Stabilität gewährleistet sein wird. Dazu gibt es mit numpy Skripte und auch Hilfe auf der Mailingliste.mod_che hat geschrieben:Code: Alles auswählen
from numpy import * from numpy import array import numpy as Numeric import numpy as numpy Numeric.Int = Numeric.int32 Numeric.Float = Numeric.float64
Außerdem ist der *-Import nicht so dolle. Muß man das hier noch begründen? (=> Forensuche )
Aber ich will auch nicht inquisitorisch sein. Manchmal ist ja die Hauptsache, daß die Dinge wieder funktionieren. Glückwunsch!!!
Gruß,
Christian