Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengimport Modul dengan Mudah daripada Pakej Adik Beradik dalam Python?

Bagaimanakah Saya Boleh Mengimport Modul dengan Mudah daripada Pakej Adik Beradik dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-19 21:13:19352semak imbas

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

Import Pakej Adik Beradik

Apabila bekerja dengan pakej Python, mengimport modul daripada pakej adik beradik kadangkala boleh menjadi satu cabaran. Kaedah tradisional yang melibatkan manipulasi sys.path boleh menyusahkan dan terdedah kepada ralat. Berikut ialah penyelesaian yang memanfaatkan alat pembungkusan moden Python untuk pendekatan yang lebih mudah.

Langkah-Langkah Terlibat

1. Cipta Fail pyproject.toml

Di akar direktori projek anda, cipta fail pyproject.toml dengan kandungan minimum berikut:

[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 . Aktifkan Persekitaran Maya (Pilihan)

Walaupun tidak penting, mengaktifkan persekitaran maya boleh memastikan bahawa kebergantungan khusus projek anda diasingkan daripada persekitaran Python global. Untuk mencipta dan mengaktifkan persekitaran maya:

  • Buat persekitaran maya:

    python -m venv venv
  • Aktifkan persekitaran maya:
  • Linux dan macOS: sumber ./venv/bin/activate
  • Windows: .venvScriptsactivate

3. Pasang Pakej Anda dalam Keadaan Boleh Edit

Dalam akar direktori projek anda, pasang pakej anda menggunakan pip dengan bendera -e untuk mendayakan mod boleh edit:

pip install -e .

< h3>4. Import Modul dengan Awalan Pakej Adik Beradik

Untuk mengimport modul daripada pakej adik beradik, tambahkan nama pakej sebagai awalan dalam import anda. Contohnya, untuk mengimport modul bernama api daripada pakej adik-beradik, anda akan menggunakan:

from myproject.api import api_module

Contoh Penggunaan

Pertimbangkan struktur projek berikut:

- api
  - api.py
- examples
  - example_one.py
- tests
  - test_one.py

Dengan penyelesaian yang dicadangkan, anda boleh mengimport modul api daripada example_one.py dan test_one.py seperti berikut:

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()

Menjalankan test_one.py kini akan berjaya memanggil fungsi function_from_api() dalam api modul.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengimport Modul dengan Mudah daripada Pakej Adik Beradik dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn