dll Import

Probleme bei der Installation?
Antworten
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Hey,

ich hab gestern das erstemal eine dll in die Hand bekommen.
Die dll ist bei einen Windowsprogramm dabei und ich hab sie in
meinen Python2.5-Ordner kopiert.

>>> import D3 as D3

Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
import D3 as D3
ImportError: No module named D3
>>>

Was habe ich falsch gemacht bzw. vergessen?
Danke !


EDIT:

ich habe es mal so versuch zu laden:
>>> D3 = imp.load_dynamic('minx', os.getcwd() + '\\D3.dll')

Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
minx = imp.load_dynamic('minx', os.getcwd() + '\\D3.dll')
ImportError: Module use of python24.dll conflicts with this version of Python.

leider auch kein erfolg, python24.dll wird wohl benötigt.
heißt das ich python2.4 nutzen muß oder kann ich auch einfach nur die dll in meinen python2.5-Ordner kopieren?

Nochmal Danke
Zuletzt geändert von mayx am Freitag 5. Juni 2009, 10:35, insgesamt 1-mal geändert.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Wahrscheinlich suchst du das ctypes-Modul.
Das Leben ist wie ein Tennisball.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

ich dachte das Modul ist in 2.5 schon eingebaut.
Der Ordner is richtig für die dll?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Richtig. EyDu meint aber, dass du es auch benutzen sollst.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Ah....
aber ich steh leider immer noch auf Schlauch ;(

Code: Alles auswählen

>>> from ctypes import *
>>> print windll.kernel32
<WinDLL 'kernel32', handle 7c800000 at 1177a50>
geht, aber ich bekomme immer noch die selbe Fehlermeldung....

Code: Alles auswählen

>>> import D3

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    import D3
ImportError: No module named D3
bzw.

Code: Alles auswählen

>>> import imp
>>> import os
>>> minx = imp.load_dynamic('minx', os.getcwd() + '\\D3.dll')

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    minx = imp.load_dynamic('minx', os.getcwd() + '\\D3.dll')
ImportError: Module use of python24.dll conflicts with this version of Python.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Du hast aber schon in die Dokumentation zu ctypes geschaut?
Das Leben ist wie ein Tennisball.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wobei ich bei der Fehlermeldung vermute, dass die Bibliothek für Python 2.4 kompiliert wurde..
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Ab Python 2.5 müssen alle Extensions Dateinamen mit .pyd haben.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Cool.
Also Doku hab ich natürlich angeguckt, da hab ich auch das mit windll.kernel her.
Ich hab jetzt activepython 2.4 runtergeladen und installiert.
Stören sich die Python-Versionen sich gegenseitig?
Hab auf C:\python24 und C:\python25

Nun gehe ich unter "ActiveState ActivePython 2.4" auf "Python Interactive Shell"
und gebe "import D3" ein. Es scheint zu klappen da keine Fehlermeldung erscheint. Komischerweise werden aber nicht alle Methoden die die Bibiothek hat unterstützt bzw. kann ich aufrufen.

Viel Dank für eure Hilfe ich such und teste mal weiter.
Für Ideen bin ich sehr dankbar.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das nebeneinander ist auf einem Windowssystem absolut kein Problem, da das Windowssystem kein Python nutzt. Einzig die Zuordnung zur jeweiligen Version könnte ein Problem sein, d.h. die Version mit der standardmäßig Skripte ausgeführt werden.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Ja, das hab ich mir auch schon gedacht.
Das Programm, das ich nutzte, nutz selber wiederrum eine python.dll

Bekommt man vielleicht Python2.4 auch als dll ?

Danke!
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Da ich kein Windows benutze gibts keine Garantie: Jede Pythonversion bringt eine DLL mit, schau mal im Python- bzw Systemordner.

Vielleicht findest du auch was in den beiden Links:
* http://www.python.org/doc/2.4.4/ext/ext.html
* http://www.python.org/doc/2.4.4/api/api.html
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Vielen Dank!!!
Es klappt. Puh.
Antworten