Ich habe versucht, einige Python-Klassen zu importieren, die in einem Child-Verzeichnis definiert sind. Die Verzeichnisstruktur ist wie folgt:Importieren von Klassen aus dem Child-Verzeichnis python
import urllib
class BaseChecker(object):
# SOME METHODS HERE
Die gChecker.py
Datei:
workspace/
__init__.py
main.py
checker/
__init__.py
baseChecker.py
gChecker.py
Die baseChecker.py
zu ähnlich sieht
import baseChecker # should import baseChecker.py
class GChecker(BaseChecker): # gives a TypeError: Error when calling the metaclass bases
# SOME METHODS WHICH USE URLLIB
Und schließlich die main.py
Datei:
import ?????
gChecker = GChecker()
gChecker.someStuff() # which uses urllib
Meine Absicht ist in der Lage sein, main.py
Datei ausführen und rufen Sie die Klassen unter dem Verzeichnis checker/
instanziieren. Aber ich möchte es vermeiden, Urlib aus jeder Datei zu importieren (wenn es möglich ist).
Beachten Sie, dass die __init__.py
leere Dateien sind.
Ich habe bereits versucht, from checker.gChecker import GChecker
in main.py
aufrufen, aber eine ImportError: No module named checker.gChecker
zeigt.
Wie Sie main.py laufen? Python muss wissen, wo das "checker" -Modul zu finden ist, also "import checker.gChecker", Sie müssten es in Ihrem 'PYTHONPATH' haben. – bear