python setup.py sdist 不必使用某种 __init__.py .py -应包括所有子包中的文件。
python setup.py sdist
__init__.py
.py
所以采用下面的项目结构(我试图与 pytest documentation ):
设置.py:
from setuptools import setup, find_packages setup( version="0.0.1", name="py_import_test", package_dir={"": "src"}, packages=find_packages(where='src') )
main.py
import py_import_test.p1.helloworld # do something with helloworld-module
当我 使用上面的项目结构,我在生成的.tar.gz中根本没有得到任何源文件。只有在有条件的情况下,它才会起作用 __初始值 在下面 py_import_test , p1 以及可能的进一步分装。
__初始值
py_import_test
p1
除了我关于 :上述程序是否被视为良好/现代的做法?
问候语
而不是 find_packages find_namespace_packages (以前称为 find_packages_ns ).
find_packages
find_namespace_packages
find_packages_ns
需要最新版本的setuptools;函数已添加到 version 40.1.0 ,于2018年8月发布。
您还需要小心,不要包含不打算作为包的目录,而是 where='src'
where='src'