On Sun, May 05, 2024 at 10:32:28AM -0000, Bastian Blank wrote: > Marc Haber wrote: > > [37/5247]mh@swivel:~/git/zg2dns $ grep -E 'class|import' get-root zg2dns/* > > get-root:from zg2dns.rootdata import DNSRootDataParser > > zg2dns/query.py:from rootdata import DNSRootDataParser > > zg2dns/query.py:class Zg2DNSQuery: > > zg2dns/rootdata.py:class DNSRootDataParser: > > Versuche mal "zg2dns.query" zu importieren
Wo? > Der Python-Interpreter fügt das Verzeichnis, in dem das aktuelle Script > liegt, dem Suchpfad hinzu. > > Rufst du "get-root" auf, dann ist es ".". Damit findet "import > zg2dns.rootdata" auch "zg2dns/rootdata.py". > > Rufst du aber "zg2dns/query.py" direkt auf, dann ist auf einmal > das Verzeichnis "zg2dns" im Suchpfad. Also referenziert "import > rootdata" auf einmal was anderes. Also muss ich abhängig von dem Ort wo mein Skript liegt unterschiedliche import-Statements benutzen, das finde ich mindestens unschön. Aber jetzt wo ich es weiß kann ich aes natürlich machen. > Dafür gibt es "pip install -e ." z.B. Damit macht man das aktuelle > Projekt im globalen Suchpfad des benutzten Interpreters verfügbar. Aber hoffentlich nur im Environment einer Subshell? Oder ist das persistentes Herumfummeln im System? Wenn ja, wo? > > Wir arbeiten Modulentwicker in so einer Situation? > > Module werden nicht als Scripte direkt aufgerufen, sind also auch nie > ausführbar. Statt dessen werden sie mittels "python3 -m" aufgerufen. Das Python Tutorial Kapitel 6.1.1 "Executing modules as scripts" stelt das als ganz praktisches Feature dar. Grüße Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Leimen, Germany | lose things." Winona Ryder | Fon: *49 6224 1600402 Nordisch by Nature | How to make an American Quilt | Fax: *49 6224 1600421 _______________________________________________ python-de Mailingliste -- python-de@python.org Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an python-de-le...@python.org https://mail.python.org/mailman3/lists/python-de.python.org/ Mitgliedsadresse: arch...@mail-archive.com