Seite 1 von 1

dubiose Fehlermeldung

Verfasst: Donnerstag 18. Januar 2007, 13:52
von gorba
Beim übersetzten eines python modules bekomme ich folgende Fehlermeldung

Ich kann damit überhaupt nichts anfangen, da es sich um einen "fehler" in den python libs handelt:

>pythonw -u "config.py"
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "config.py", line 29, in ?
import ConfigParser
File "C:\Python24\lib\ConfigParser.py", line 90, in ?
import re
File "C:\Python24\lib\re.py", line 5, in ?
from sre import *
File "C:\Python24\lib\sre.py", line 265, in ?
import copy_reg
File "C:\Python24\lib\copy_reg.py", line 7, in ?
from types import ClassType as _ClassType
File "C:\mbus_prog\pyMbus-0.8.7\mbus\types.py", line 37, in ?
import string
File "C:\Python24\lib\string.py", line 124, in ?
class Template:
File "C:\Python24\lib\string.py", line 117, in __init__
pattern = _TemplateMetaclass.pattern % {
AttributeError: 'module' object has no attribute 'escape'
>Exit code: 1

kann mir jemand weiterhelfen?

Verfasst: Donnerstag 18. Januar 2007, 13:56
von Python 47
Poste bitte den Code.

Verfasst: Donnerstag 18. Januar 2007, 13:57
von BlackJack
Du hast ein Modul mit dem Namen `types` und das "überschreibt" das gleichnamige Modul aus der Standardbibliothek.

Verfasst: Donnerstag 18. Januar 2007, 14:07
von gorba
BlackJack hat geschrieben:Du hast ein Modul mit dem Namen `types` und das "überschreibt" das gleichnamige Modul aus der Standardbibliothek.
stimmt! "an-den-kopf-fass"

reicht das, wenn ich mein typed unter einem anderen namen importiere?

Verfasst: Donnerstag 18. Januar 2007, 14:09
von jens
Diese Art Fehler passiert irgendwie jedem mal... Dumm das Python da nicht irgendwie anders drauf reagiert. Vielleicht eine Warnung ausgeben oder so...

Verfasst: Donnerstag 18. Januar 2007, 15:03
von BlackJack
Das tut es ja in künftigen Versionen und PyLint warnt heute schon. In Python 2.5 kann man von `__future__` schon importieren das `types` immer das "globale" Modul ist und man `.types` importieren muss, wenn man das "lokale" Modul haben möchte.

Man kann das Problem auch umgehen, indem man ein Package anlegt und das "eigene" ``types`` immer absolut, also mit Paketnamen importiert.

Verfasst: Donnerstag 18. Januar 2007, 15:21
von birkenfeld
BlackJack hat geschrieben:Das tut es ja in künftigen Versionen und PyLint warnt heute schon. In Python 2.5 kann man von `__future__` schon importieren das `types` immer das "globale" Modul ist und man `.types` importieren muss, wenn man das "lokale" Modul haben möchte.
Mit einer Ausnahme - wenn das eigene "types" ein Toplevelmodul ist, ist der Import weiterhin "by design", da absolut.