构建包含父文件夹的Python包结构
我正在创建一个Python包,里面有这样的结构:
foo/
__init__.py
bar_module_one/
__init__.py
do_something_cool.py
buzz_module_two/
__init__.py
youre_lazy.py
在setup.py
文件中,我写了以下内容:
from setuptools import find_packages, setup
setup(
version="0.1.0",
name="foo",
packages=find_packages(),
package_dir={"foo": "foo"},
)
我现在搞不清楚怎么才能让这个包安装后保持这个结构。现在它只安装了bar_module_one/
和buz_module_two/
,但我希望这些模块能作为foo的一部分被安装。我想能够这样使用:from foo.bar_module_one.do_something_cool import yo
。
1 个回答
0
你可以通过在 setup.py
文件中使用 package_dir={"": "foo"}
来列出整个包,具体可以参考这个链接:setup.py 列出整个包。
from setuptools import find_packages, setup
setup(
version="0.1.0",
name="foo",
packages=find_packages(),
package_dir={"": "foo"},
)
我不太确定,但你可能需要调整一下你的项目结构,把 foo
目录作为父目录添加进来:
foo/
foo/
__init__.py
bar_module_one/
__init__.py
do_something_cool.py
buzz_module_two/
__init__.py
youre_lazy.py
setup.py