suchen
HeimBackend-EntwicklungPython-TutorialWie kann ich problemlos Module aus Geschwisterpaketen in Python importieren?

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,<p></p><h3 id="Aktivieren-Sie-eine-virtuelle-Umgebung-optional">2 . Aktivieren Sie eine virtuelle Umgebung (optional)</h3><p>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:</p>
  • 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 .

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
Welche Datentypen können in einem Python -Array gespeichert werden?Welche Datentypen können in einem Python -Array gespeichert werden?Apr 27, 2025 am 12:11 AM

PythonlistscanstoreanyDatatype, ArrayModulearraysStoreOnetype und NumpyarraysarefornumericalComputations.1) listet dieArversatile-memory-effizient.2) Arraymodulenarraysalememory-effizientforhomogeneData.3) Numpharraysareoptional-EffictionhomogenInData.3) nummodulenarraysoptionalinformanceIntata.3) nummodulearraysoptionalinformanceIntata.3) NumpharraysareoPresopplowancalinScesDataa.3) NumpharraysoePerformance

Was passiert, wenn Sie versuchen, einen Wert des falschen Datentyps in einem Python -Array zu speichern?Was passiert, wenn Sie versuchen, einen Wert des falschen Datentyps in einem Python -Array zu speichern?Apr 27, 2025 am 12:10 AM

Wenn SietostoreavalueOfThewrongdatatypeinapythonarray, touencounteratypeerror.Thissisdustuetothearraymodules -SstrictTypeNeen -Forcortion, welche

Welches ist Teil der Python Standard Library: Listen oder Arrays?Welches ist Teil der Python Standard Library: Listen oder Arrays?Apr 27, 2025 am 12:03 AM

PythonlistsarePartThestandardlibrary, whilearraysarenot.listarebuilt-in, vielseitig und UNDUSEDFORSPORINGECollections, während dieArrayRay-thearrayModulei und loses und loses und losesaluseduetolimitedFunctionality.

Was sollten Sie überprüfen, ob das Skript mit der falschen Python -Version ausgeführt wird?Was sollten Sie überprüfen, ob das Skript mit der falschen Python -Version ausgeführt wird?Apr 27, 2025 am 12:01 AM

ThescriptisrunningwithTheWrongPythonversionDuetoincorrectDefaultinterpretersettings.tofixthis: 1) checkHedEfaultpythonversionusingPython-Versionorpython3-Version.2) Verwenden von VirtualenVirmentsByCreatingonewithpython3.9-mvenvmyenv, und -Averifikation und -Averifikation

Was sind einige gängige Operationen, die an Python -Arrays ausgeführt werden können?Was sind einige gängige Operationen, die an Python -Arrays ausgeführt werden können?Apr 26, 2025 am 12:22 AM

PythonarraysSupportvariousoperationen: 1) SlicicingExtractsSubsets, 2) Anhang/Erweiterungen, 3) Einfügen von PlaceSelementsatspezifischePositionen, 4) Entfernen von Delettel, 5) Sortieren/ReversingChangesorder und 6) compredewlistenwlists basierte basierte, basierte Zonexistin

In welchen Anwendungsarten werden häufig Numpy -Arrays verwendet?In welchen Anwendungsarten werden häufig Numpy -Arrays verwendet?Apr 26, 2025 am 12:13 AM

NumpyarraysaresessentialForApplicationsRequeeFoughnumericalComputations und Datamanipulation

Wann würden Sie ein Array über eine Liste in Python verwenden?Wann würden Sie ein Array über eine Liste in Python verwenden?Apr 26, 2025 am 12:12 AM

UseanArray.ArrayoveralistinpythonwhendealingwithhomogenousData, Performance-CriticalCode, OrInterfacingwithCcode.1) HomogenousData: ArraysSavemoryWithtypedElements.2) Performance-CriticalCode: ArraySaveMoryWithtypedElements.2) Performance-CriticalCode: ArraysFerbetterPerPterPerProrMtorChorescomeChormericalcoricalomancomeChormericalicalomentorMentumscritorcorements.3) Interf

Werden alle Listenoperationen von Arrays unterstützt und umgekehrt? Warum oder warum nicht?Werden alle Listenoperationen von Arrays unterstützt und umgekehrt? Warum oder warum nicht?Apr 26, 2025 am 12:05 AM

Nein, NOTALLLISTOPERATIONSARESURDEDBYARAYS UNDVICEVERSA.1) ArraysDonotsupportdynamicoperationslikeAppendorinStResizing, die impactSperformance.2) listsDonotguaranteConstantTimeComplexityfordirectAccesslikearraysDo.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!