У меня есть проект с всеобъемлющим пространством имен, с пакетами внутри.Вот структура папок:
pypackage
├── pypackage <-- Source code for use in this project.
| |
│ ├── bin <-- Module: Cli entry point into pyproject.
| | ├── __init__.py
| | └── pypackage.py
| |
| └── core <-- Module: Core functionality.
| ├── __init__.py
| └── pypackage.py
|
├── tests
├── README.md
└── setup.py
Довольно просто.Если я хочу импортировать его, я использую:
from pypackage.core import pypackage
, и он прекрасно работает, потому что мой setup.py выглядит так:
from setuptools import setup, find_packages
...
NAME = 'pypackage'
setup(
name=NAME,
namespace_packages=[NAME],
packages=[f'{NAME}.{p}' for p in find_packages(where=NAME)],
entry_points={
"console_scripts": [
f'{NAME} = {NAME}.bin.{NAME}:cli',
]
},
...
)
Однако у меня есть устаревший код, который импортирует этот pypackage
когда-то это был просто отдельный файл Python.как это:
import pypackage
Так как мне сделать так, чтобы я мог сохранять ту же структуру с пространствами имен и подпакетами, но все же импортировать ее старым способом?Как мне превратить это:
from pypackage.core import pypackage
в это:
import pypackage
Другими словами, как мне псевдоним модуля pypackage.core.pypackage
, чтобы он был pypackage
для когдаЯ импортирую pypackage
во внешний проект?