Modul wird nicht gefunden

06/09/2014 - 10:31 von helmut_blass | Report spam
Hallo,
ich habe drei python scripts in einem Order:
a.py
b.py
c.py

Script a importiert c (import c): kein Problem
Script b importiert c (import c) : Programm bricht ab, in Logdatei steht diese Fehlermeldung:
PythonHandler mod_python.cgihandler: ImportError: No module named c
Wie ist so etwas möglich???

thanks for your help, Helmut
 

Lesen sie die antworten

#1 Mike Müller
06/09/2014 - 11:15 | Warnen spam
Hallo Helmut,

Am 06.09.14 10:31, schrieb :
Hallo,
ich habe drei python scripts in einem Order:
a.py
b.py
c.py

Script a importiert c (import c): kein Problem
Script b importiert c (import c) : Programm bricht ab, in Logdatei steht diese Fehlermeldung:
PythonHandler mod_python.cgihandler: ImportError: No module named c
Wie ist so etwas möglich???



Python findet Module normaler Weise im aktuellen Verzeichnis. Wenn jetzt aber
c.py oder b.py oder von diesen importierte Module das aktuelle
Arbeitsverzeichnis àndern, sucht Python an einer anderen Stelle und findet
c.py nicht.

Eine sinnvolle Lösung wàre alle drei Dateien, a.py, b.py und c.py, zusammen mit
einer Datei __init__.py, die leer sein kann, in ein Verzeichnis z.B. meinprg
zu stecken:

meinprg
__init__.py
a.py
b.py
c.py


Das übergeordnete Verzeichnis, in dem meinprg liegt, muss in den sys.path
[1]. Das geht z.B. mit der Umgebungsvariable PYTHONPATH [2]. Dann sollte ein

import meinprg.c as c

oder

from meinprg import c

funktionieren. Es gibt da noch einige Details [3].

Viele Grüße
Mike


[1] https://docs.python.org/3/library/s...h#sys.path
[2]
https://docs.python.org/3/using/cmd...PYTHONPATH
[3] https://docs.python.org/3/reference...l#packages

Ähnliche fragen