Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich problemlos Module aus Geschwisterpaketen in Python importieren?

Wie kann ich problemlos Module aus Geschwisterpaketen in Python importieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-19 21:13:19372Durchsuche

How Can I Easily Import Modules from Sibling Packages in Python?

Importe von Geschwisterpaketen

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.

Beteiligte Schritte

1. Erstellen Sie eine pyproject.toml-Datei

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"]

2 . Aktivieren Sie eine virtuelle Umgebung (optional)

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
  • Aktivieren Sie die virtuelle Umgebung:
  • Linux und macOS: Quelle ./venv/bin/activate
  • Windows: .venvScriptsactivate

3. Installieren Sie Ihr Paket im bearbeitbaren Zustand

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

Beispielverwendung

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn