gpt4 book ai didi

python - 使用子包设置 python 包的正确方法

转载 作者:太空狗 更新时间:2023-10-29 17:01:39 26 4
gpt4 key购买 nike

我正在尝试在 python 中设置一个包含子包的包。这是我目前的树结构:

myPackage
├── __init__.py
├── mySubPackage1
│   ├── foo2.py
│   ├── foo.py
│   └── __init__.py
├── mySubPackage2
│   ├── bar2.py
│   ├── bar.py
│   └── __init__.py
└── setup.py

所有 __init__.py 都是空的。这是我的 setup.py:

from distutils.core import setup

if __name__ == "__main__":
setup(
name='myPackage',
package_dir = {
'mySubPackage1': 'mySubPackage1',
'mySubPackage2': 'mySubPackage2'},
packages=['mySubPackage1', 'mySubPackage2'],
)

问题是,当我从 myPackage 运行 python setup.py install 时,sub 包被安装到 dist -包:

/usr/local/lib/python2.7/dist-packages/mySubPackage1
/usr/local/lib/python2.7/dist-packages/mySubPackage2

我想问题出在我的 setup.py 上,但我不知道如何解决?它应该在 myPackage 的父目录中吗?如果是这样,那么当我使用 python setup.py sdist 将包打包到 zip 时它是如何工作的?

最佳答案

只需使用 setuptools 而不是 distutils,它有 find_packages 正是为此目的:

from setuptools import setup, find_packages

setup(
name='myPackage',
packages=find_packages(),
)

关于python - 使用子包设置 python 包的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26528178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com