Bagaimana untuk Mencipta Pakej Ruang Nama dalam Python untuk Pengedaran Perpustakaan Modular?

Mary-Kate Olsen
Lepaskan: 2024-10-22 19:15:02
asal
179 orang telah melayarinya

How to Create Namespace Packages in Python for Modular Library Distribution?

Mencipta Pakej Ruang Nama dalam Python

Pakej ruang nama dalam Python membolehkan anda mengedarkan perpustakaan berkaitan sebagai muat turun berasingan sambil mengekalkan ruang nama yang koheren. Untuk menentukan pakej ruang nama, ikut langkah berikut:

Pra-Python 3.3:

Untuk versi Python sebelum 3.3, gunakan salah satu kaedah berikut:

  • pkgutil.extend_path(): Kaedah ini menambah pakej ruang nama pada laluan carian pakej biasa.
<code class="python">from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)</code>
Salin selepas log masuk
  • pkg_resources.declare_namespace(): Kaedah ini mengisytiharkan direktori sebagai pakej ruang nama. Walau bagaimanapun, ia tidak berfungsi dengan pakej ruang nama tersirat yang diperkenalkan dalam Python 3.3 dan lebih baru.

Python 3.3 dan Kemudian:

Untuk mencipta pakej ruang nama tersirat, hanya tinggalkan fail __init__.py dalam direktori pakej ruang nama. Kaedah ini lebih disukai kerana ia kalis masa hadapan dan serasi dengan pakej ruang nama yang jelas.

Contoh:

Pertimbangkan struktur direktori berikut:

Package-1/
    namespace/
        module1/
            __init__.py
Package-2/
    namespace/
        module2/
            __init__.py
Salin selepas log masuk

Dalam contoh ini, Pakej-1 dan Pakej-2 boleh mentakrifkan modul dalam ruang nama ruang nama:

<code class="python">import namespace.module1
import namespace.module2</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Pakej Ruang Nama dalam Python untuk Pengedaran Perpustakaan Modular?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!