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