Problem beim importieren

Probleme bei der Installation?
Antworten
Salva
User
Beiträge: 1
Registriert: Donnerstag 15. Dezember 2011, 08:50

Guten Morgen allerseits,

ich habe ein kleines Problem was das Kompilieren eines einfachen Python Programms angeht.
Ich habe ehrlich gesagt ueberhaupt keine Ahnung von Python, soll allerdings einen Client in Python fuer eine Middleware (ICE von ZeroC) schreiben. Der Server laeuft ueber C++ und die Schnittstellen zwischen Server und Client werden durch eine ICE-Datei definiert. Ein Kompilierer uebersetzt diese ICE-Datei nun in ein Python Programm. Ein eigenes Programm, dass das andere importiert, kann dann die Funktionen des Servers aufrufen, ohne dass dabei auf die Client-Server Architektur geachtet werden muss (Modell verteilte Systeme). Mein Problem ist nun, dass ich dieses Programm nicht kompiliert kriege.

Ich habe mir die Python Version 2.7 heruntergeladen (Windows) und ein einfaches HelloWorld Programm geschrieben, dies wird ohne Probleme kompiliert (habe den Pfad "C:\Python27" und "C:\Python27\lib" in die Systemvariablen eingefuegt). Moechte ich nun aber ein Beispiel Programm von ICE kompilieren erhalte ich folgenden Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Program Files\ZeroC\Ice-3.4.2\Ice-3.4.2-demos\demopy\Ice\minimal\Server.py", line 11, in <module>
    import sys, traceback, Ice
  File "C:\Python27\lib\Ice.py", line 47, in <module>
    import IcePy
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

Die Datei "Ice.py" ist allerdings an diesem Ort vorhanden. Sie ist weder schreibgeschuetzt, noch versteckt oder sonst etwas. Allerdings kann er diese nicht importieren.

Ein kleines HelloWorld-Programm, das sys und traceback importiert, funktioniert problemlos. Er hat nur Probleme mit dem import Ice. Die Datei ist aber vorhanden.

Koennt ihr mir helfen? Was muss ich machen, damit ich ein externes Paket importieren kann?

Python Version: 2.7
Betriebssystem: Windows 7
Problem: Importieren von externen Paketen(?)

Wenn ich i-welche Daten vergessen habe bitte Bescheid sagen.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Salva hat geschrieben:Mein Problem ist nun, dass ich dieses Programm nicht kompiliert kriege.
In Python kompiliert man eigentlich nichts - zwar wird der Code eines Moduls vom Interpreter gerne persistent in Bytecode kompiliert (pyc-Dateien), aber das musst Du nicht aktiv selber tun. So wie ich das weiter aus Deinem Posting herauslese, meinst Du "importieren"?
Salva hat geschrieben: Programm von ICE kompilieren erhalte ich folgenden Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Program Files\ZeroC\Ice-3.4.2\Ice-3.4.2-demos\demopy\Ice\minimal\Server.py", line 11, in <module>
    import sys, traceback, Ice
  File "C:\Python27\lib\Ice.py", line 47, in <module>
    import IcePy
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
Die Datei "Ice.py" ist allerdings an diesem Ort vorhanden. Sie ist weder schreibgeschuetzt, noch versteckt oder sonst etwas. Allerdings kann er diese nicht importieren.
Doch er importiert sie. Wenn Du Dir die Fehlermeldung genau anguckst, so tritt der Fehler ja sogar im Ice-Modul auf! Dort soll ein Modul namens "IcePy" importiert werden - dieses kann Python nicht finden. Ich vermute mal, dass ist so eine Art "Basis"-Lib für das ICE-System? Hast Du das denn sauber installiert? Steht das irgend wo im Python-Suchpfad? Schau Dir mal in einer Python-Shell `sys.path` an und gucke, ob da das Verzeichnis enthalten ist, wo dieses Modul liegt. (Alternativ `PYTHONPATH` (?) in einer System-Shell)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

Ergänzend zu Hyperion: Offenbar gibt es sogar eine DLL denn nur von ``import IcyPy`` wüsste Python nicht, dass das eine DLL sein soll. Da stellt sich jetzt die Frage wie Du das `Ice`-Paket installiert hast und ob die Version passend zur verwendeten Python-Version ist. Sowohl was die Python-Versionsnummer als auch die Bits angeht, also ob 32 oder 64 Bit.
Antworten