【发布时间】:2020-09-03 11:19:53
【问题描述】:
如果我安装了两个具有相同顶级目录级别名称但包名称不同的 python 包(由 setup.py 或其他识别方法定义),会发生冲突还是会合并“命名空间”?
例如,如果我有以下结构:
repo1
mypkg/
__init__.py
compiler/...
setup.cfg -> name=repo1
repo2
mypkg/
__init__.py
runner/...
setup.cfg -> name=repo2
我可以安装这两个而不发生冲突吗?如果是,我可以像这样导入它们吗:
from mypkg.runner import *
from mypkg.compiler import *
【问题讨论】:
-
在
mypkg文件夹中是否有__init__.py? -
您是否需要任何
mypkg软件包中的__init__.py?是否包含代码? -
听起来你想要所谓的命名空间包。见packaging.python.org/guides/packaging-namespace-packages
标签: python setuptools setup.py python-packaging