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
Freigeben: 2024-12-19 21:13:19
Original
352 Leute haben es durchsucht

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"]
Nach dem Login kopieren

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
    Nach dem Login kopieren
  • 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 .
Nach dem Login kopieren

< 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
Nach dem Login kopieren
Nach dem Login kopieren

Beispielverwendung

Beachten Sie die folgende Projektstruktur:

- api
  - api.py
- examples
  - example_one.py
- tests
  - test_one.py
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

test_one.py:

from myproject.api import api_module

def test_function():
    print(api_module.function_from_api())

if __name__ == '__main__':
    test_function()
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage