Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีสร้าง Namespace Package ใน Python

Namespace package แบ่ง Python code หลาย projects ใช้ร่วมกัน เช่น โฟลเดอร์ Package-1 และ Package-2 ใน PYTHONPATH:

Package-1/namespace/__init__.py
Package-1/namespace/module1/__init__.py
Package-2/namespace/__init__.py
Package-2/namespace/module2/__init__.py

User สามารถ import namespace.module1 และ import namespace.module2 ได้

Python 3.3+: ไม่ต้องทำอะไร แค่ไม่วาง __init__.py ใน namespace directories (implicit namespace packages)

รุ่นเก่า: ใช้ pkgutil.extend_path ใน __init__.py ของทั้งสองแพ็กเกจ:

from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

จะเพิ่ม subdirectories เข้า __path__ แจกจ่ายแพ็กเกจแยกกันได้