
- Python Basic Tutorial
- Python - Home
- Python - Overview
- Python - Environment Setup
- Python - Basic Syntax
- Python - Comments
- Python - Variables
- Python - Data Types
- Python - Operators
- Python - Decision Making
- Python - Loops
- Python - Numbers
- Python - Strings
- Python - Lists
- Python - Tuples
- Python - Dictionary
- Python - Date & Time
- Python - Functions
- Python - Modules
- Python - Files I/O
- Python - Exceptions
How to develop programs with Python Namespaced Packages?
In Python, a namespace package allows you to spread Python code among several projects. This is useful when you want to release related libraries as separate downloads. For example, with the directories Package-1 and Package-2 in PYTHONPATH,
Package-1/namespace/__init__.py Package-1/namespace/module1/__init__.py Package-2/namespace/__init__.py Package-2/namespace/module2/__init__.py the end-user can import namespace.module1 and import namespace.module2.
On Python 3.3, you don't have to do anything, just don't put any __init__.py in your namespace package directories and it will just work. This is because Python 3.3 introduces implicit namespace packages.
On older versions, there's a standard module, called pkgutil, with which you can 'append' modules to a given namespace. You should put those two lines in both Package-1/namespace/__init__.py and Package-2/namespace/__init__.py: from pkgutil import extend_path __path__ = extend_path(__path__, __name__)
This will add to the package's __path__ all subdirectories of directories on sys.path named after the package. After this you can distribute the 2 packages separately and leverage python namespaced packages.
- Related Articles
- How to develop a Python Module?
- How to develop a game in Python?
- How to create python namespace packages in Python 3?
- Packages in Python
- Python Challenges to Develop Your Skills
- Structuring Python Programs
- How to Develop Generic Classes
- How to organize Python classes in modules and/or packages
- Add packages to Anaconda environment in Python
- How do I Install Python Packages in Anaconda?
- Fostering Creativity: How to Develop Creativity?
- Develop Notepad using Tkinter in python
- Warning control in Python Programs
- How to compile packages in Java
- What are the packages in Python?

Advertisements