Wie kann sichergestellt werden, dass die Python-Datei in einer verschachtelten Ordnerstruktur korrekt ausgeführt wird?Python

Python-Programme
Anonymous
 Wie kann sichergestellt werden, dass die Python-Datei in einer verschachtelten Ordnerstruktur korrekt ausgeführt wird?

Post by Anonymous »

Ich versuche, eine Python-Datei aus einer Codebasis auszuführen und habe ein Minimalbeispiel erstellt, um das Problem zu erklären, mit dem ich konfrontiert bin.
foo
├── bar
│   ├── burp
│   │   └── cache.py
│   ├── __init__.py
│   └── pyro.py
└── __init__.py

Die Datei foo/bar/pyro.py enthält
def explosion():
print('boom boom')

Die Datei foo/bar/burp/cache.py enthält
from bar.pyro import explosion
def setup():
print('setting things up')

setup()
explosion()

Wenn ich foo/bar/burp/cache.py ausführe, erhalte ich den folgenden Fehler.
$ python3 bar/burp/cache.py
Traceback (most recent call last):
File "bar/burp/cache.py", line 1, in
from bar.pyro import explosion
ModuleNotFoundError: No module named 'bar'

Allerdings läuft das Programm einwandfrei, während es im Interpreter läuft.
$ python3
Python 3.8.10 (default, Nov 7 2024, 13:10:47)
>>> exec(open('bar/burp/cache.py').read())
setting things up
boom boom

Was verursacht diesen Unterschied und wie kann ich den Fehler im ersten Ansatz beheben?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post