Bei der Arbeit mit Python-Paketen kann der Import von Modulen aus Geschwisterpaketen manchmal eine Herausforderung sein. Herkömmliche Methoden zur Manipulation von sys.path können umständlich und fehleranfällig sein. Hier ist eine Lösung, die die modernen Paketierungstools von Python für einen einfacheren Ansatz nutzt.
Erstellen Sie im Stammverzeichnis Ihres Projektverzeichnisses eine pyproject.toml-Datei mit den folgenden Mindestinhalten:
[project] name = "myproject" version = "0.1.0" description = "My small project" [build-system] build-backend = "flit_core.buildapi" requires = ["flit_core >=3.2,<4"]
Die Aktivierung einer virtuellen Umgebung ist zwar nicht unbedingt erforderlich, kann jedoch sicherstellen, dass Ihre projektspezifischen Abhängigkeiten von der globalen Python-Umgebung isoliert sind. So erstellen und aktivieren Sie eine virtuelle Umgebung:
Erstellen Sie die virtuelle Umgebung:
python -m venv venv
Installieren Sie Ihr Paket im Stammverzeichnis Ihres Projektverzeichnisses mit pip mit dem Flag -e, um den bearbeitbaren Modus zu aktivieren:
pip install -e .
< h3>4. Module mit Geschwisterpaket-Präfixen importieren
Um Module aus Geschwisterpaketen zu importieren, fügen Sie den Paketnamen als Präfix in Ihre Importe ein. Um beispielsweise ein Modul namens „api“ aus einem Geschwisterpaket zu importieren, würden Sie Folgendes verwenden:
from myproject.api import api_module
Beachten Sie die folgende Projektstruktur:
- api - api.py - examples - example_one.py - tests - test_one.py
Mit der vorgeschlagenen Lösung können Sie das API-Modul aus example_one.py importieren und test_one.py wie folgt:
example_one.py:
from myproject.api import api_module
test_one.py:
from myproject.api import api_module def test_function(): print(api_module.function_from_api()) if __name__ == '__main__': test_function()
Durch das Ausführen von test_one.py wird nun die Funktion function_from_api() in der API erfolgreich aufgerufen Modul.
Das obige ist der detaillierte Inhalt vonWie kann ich problemlos Module aus Geschwisterpaketen in Python importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!