Hallo zusammen,
ich benutze Python seit einiger Zeit unter Windows, um aus Microsoft Devstudio Dateien makefiles zu generieren. Unter Windows läuft die Version 2.4.2 und es funktioniert wunderbar.
Jetzt möchte ich diese Funktionalität auf Solaris verwenden und hab auf der Kiste auch die Version 2.5 vorgefunden.
Ich konnte mein Glück kaum fassen und dachte, das ich einfach den Sourcecode auf die UNIX Kiste kopiere und laufen lassen kann. Leider war dem nicht so und ich bekomme folgenden Stacktrace:
python /var/plato/sra/pythonskripts/sln_read.py makemake ManagementServer.sln "SUN Release" "ManagementServer"
Traceback (most recent call last):
File "/var/plato/sra/pythonskripts/sln_read.py", line 160, in <module>
makedef = sln2make( sln, configname, ProjektName )
File "/var/plato/sra/pythonskripts/sln_read.py", line 60, in sln2make
import vcproj_read
File "/data/plato/sra/pythonskripts/vcproj_read.py", line 4, in <module>
from xml.dom.ext.reader import Sax2
File "/usr/local/lib/python2.5/site-packages/_xmlplus/dom/ext/reader/__init__.py", line 14, in <module>
import string, urllib2, urlparse, cStringIO, os
File "/usr/local/lib/python2.5/urllib2.py", line 88, in <module>
import hashlib
File "/usr/local/lib/python2.5/hashlib.py", line 104, in <module>
md5 = __get_builtin_constructor('md5')
File "/usr/local/lib/python2.5/hashlib.py", line 31, in __get_builtin_constructor
import _md5
ImportError: No module named _md5
Exit 1
Da die Probleme in den Python Libraries auftreten, weiß ich nicht so recht, was ich tun kann um es zu beheben.
Hat jemand eine Idee, die mir weiter helfen könnte?
Gruss
ScAr
Probleme auf Solaris
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo ScAr!ScAr hat geschrieben:import _md5
ImportError: No module named _md5
Willkommen im Python-Forum!
Ich kann nicht viel dazu beitragen, aber eigentlich sollte ``_md5`` in den "Buitlins" enthalten sein. So wie bei mir unter Windows.
Code: Alles auswählen
import sys
>>> sys.builtin_module_names
('__builtin__', '__main__', '_ast', '_bisect', '_codecs',
'_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp',
'_codecs_kr', '_codecs_tw', '_csv', '_functools', '_heapq',
'_hotshot', '_locale', '_lsprof', '_md5', '_multibytecodec',
'_random', '_sha', '_sha256', '_sha512', '_sre', '_struct',
'_subprocess', '_symtable', '_types', '_weakref', '_winreg',
'array', 'audioop', 'binascii', 'cPickle', 'cStringIO', 'cmath',
'collections', 'datetime', 'errno', 'exceptions', 'gc', 'imageop',
'imp', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt', 'nt',
'operator', 'parser', 'rgbimg', 'signal', 'strop', 'sys', 'thread', 'time',
'xxsubtype', 'zipimport', 'zlib')
>>>
Das soll nur ein Denkanstoß sein. Vielleicht weiß jemand mehr darüber.
EDIT:
Was mir noch aufgefallen ist: hashlib gibt es ja erst seit Python 2.5. Wie kann dein Programm dann unter Windows mit Python 2.4 laufen?
Versuche doch mal das Modul "md5" statt "hashlib" zu verwenden...
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Danke gerold für die schnelle Antwort. Wenn ich das auf unserer Solariskiste eingebe kommt folgendes heraus:
Es ist also kein md5 dabei. Aber wie komme ich da jetzt ran? Kann ich die aktuelle Version einfach darüber installieren? Oder kann ich die fehlenden Module nachrüsten?
Was ist die beste Vorgehensweise?
Gruß
ScAr
Code: Alles auswählen
>>> sys.builtin_module_names
('__builtin__', '__main__', '_ast', '_codecs', '_sre', '_symtable', '_types', 'errno', 'exceptions', 'gc', 'imp', 'marshal', 'posix', 'pwd', 'signal', 'sys', 'thread', 'xxsubtype', 'zipimport')
Was ist die beste Vorgehensweise?
Gruß
ScAr
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Fehlalarm!ScAr hat geschrieben:Es ist also kein md5 dabei.
Ich habe eben auf meiner Ubuntu-Schüssel nachgesehen. Unter Linux (Python 2.5) ist "_md5" ebenfalls nicht in den Builtins. :K
Es hängt also nicht damit zusammen.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo!
Was auch immer das bedeutet und wie auch immer man etwas dagegen tun kann??? Keine Ahnung. Aber hier habe ich zumindest schon mal einen Hinweis auf das Problem gefunden (glaube ich):
http://svn.netlabs.org/libc/browser/ven ... =3225#L237
mfg
Gerold

Was auch immer das bedeutet und wie auch immer man etwas dagegen tun kann??? Keine Ahnung. Aber hier habe ich zumindest schon mal einen Hinweis auf das Problem gefunden (glaube ich):
http://svn.netlabs.org/libc/browser/ven ... =3225#L237
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hallo,
es läuft jetzt! Das Problem war, das wohl noch eine Erweiterung 'pyXML' installiert werden musste, damit der vorhandene Code läuft.
Wie kann man eigentlich in einer bestehenden Installation herausfinden, ob und wenn ja welche Erweiterungen installiert sind?
Gruß
ScAr
es läuft jetzt! Das Problem war, das wohl noch eine Erweiterung 'pyXML' installiert werden musste, damit der vorhandene Code läuft.
Wie kann man eigentlich in einer bestehenden Installation herausfinden, ob und wenn ja welche Erweiterungen installiert sind?
Gruß
ScAr
Du kannst Dich in den Pfaden umschauen die in `sys.path` aufgeführt sind. Insbesondere in Pfaden die `*/site-packages/*` enthalten z.B. `/usr/lib/python2.5/site-packages/`, dort werden normalerweise zusätzliche Module und Pakete installiert.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
_md5 ist ein Ersatzmodul, das dann gebaut werden soll, wenn Pythons setup.py, während es die Erweiterungsmodule baut, kein OpenSSL finden kann, ansonsten nimmt hashlib nämlich dessen Implementierungen der Hashfunktionen.gerold hat geschrieben:Hallo!
Was auch immer das bedeutet und wie auch immer man etwas dagegen tun kann??? Keine Ahnung. Aber hier habe ich zumindest schon mal einen Hinweis auf das Problem gefunden (glaube ich):
d.h. es gibt in python kein Kommando, das alle zusätzlich installierten Packages namentlich auflistet!? Wäre doch schön, oder?BlackJack hat geschrieben:Du kannst Dich in den Pfaden umschauen die in `sys.path` aufgeführt sind. Insbesondere in Pfaden die `*/site-packages/*` enthalten z.B. `/usr/lib/python2.5/site-packages/`, dort werden normalerweise zusätzliche Module und Pakete installiert.

Ansonsten vielen Dank für die Hilfe, es läuft jetzt auch alles, was ich brauche unter SUN.

Gruß
ScAr
Du könntest `pydoc` als Webserver starten:
Und dann mal die URL in den Browser eingeben.
Code: Alles auswählen
bj@s8n:~$ pydoc -p 10000
pydoc server ready at http://localhost:10000/