为Python包添加虚拟名称空间

时间:2019-04-30 14:16:20

标签: python python-3.x setuptools python-wheel

我有一个具有以下目录结构的python软件包:

my_package/
    my_subpackage/
        __init__.py
        my_module.py
    __init__.py
    setup.py

当我生成Python wheel并pip安装它时,我将没有my_package名称空间,因此my_subpackage将成为我virtualenv全局名称空间的一部分等等。

我知道这里的解决方案是创建另一个名为my_package的目录并将所有内容放入其中:

my_package/
    my_package/
        my_subpackage/
            __init__.py
            my_module.py
        __init__.py
    setup.py

但是,由于某种原因,我无法更改目录结构。是否可以通过第一种布局在my_package中添加虚拟setup.py命名空间?

1 个答案:

答案 0 :(得分:0)

您可以在TraMineR中指定package_dir选项。

类似的事情应该起作用:

setup.py

不过,我从未在setup( ... package_dir={'': '..'}, packages=['my_package'] ... ) 中使用相对路径,因此您的确认将不胜感激。