是否可以使用 setuptools 为 find_packages() 提供多个源目录?
Is it possible to give multiple source dir to find_packages() using setuptools?
我有一个 python 项目想要使用 setuptools 进行分发。
我想使用find_packages()
功能。 python 个源码包位于多个目录:
proj
+--src1
| +--pkg1
| | +-- (__init__.py and sources)
| +--pkg2
| | +-- (__init__.py and sources)
+--src2
+--pkg3
| +-- (__init__.py and sources)
+--pkg4
+-- (__init__.py and sources)
如果我使用 find_packages('proj/src1')
,pkg3 和 pkg4 将不会打包到发行版中。
如果我使用 find_packages('proj')
则根本不会列出任何包。
是否可以同时使用多个源目录和find_packages()
?
为什么不自己构建包列表?
packages=[pkg for subdir in os.listdir('proj')
if os.path.isdir(os.path.join('proj', subdir))
for pkg in find_packages(os.path.join('proj', subdir))]
find_packages()
returns 一个列表。您可以多次调用它并合并列表:
find_packages('proj/src1') + find_packages('proj/src2')
我有一个 python 项目想要使用 setuptools 进行分发。
我想使用find_packages()
功能。 python 个源码包位于多个目录:
proj
+--src1
| +--pkg1
| | +-- (__init__.py and sources)
| +--pkg2
| | +-- (__init__.py and sources)
+--src2
+--pkg3
| +-- (__init__.py and sources)
+--pkg4
+-- (__init__.py and sources)
如果我使用 find_packages('proj/src1')
,pkg3 和 pkg4 将不会打包到发行版中。
如果我使用 find_packages('proj')
则根本不会列出任何包。
是否可以同时使用多个源目录和find_packages()
?
为什么不自己构建包列表?
packages=[pkg for subdir in os.listdir('proj')
if os.path.isdir(os.path.join('proj', subdir))
for pkg in find_packages(os.path.join('proj', subdir))]
find_packages()
returns 一个列表。您可以多次调用它并合并列表:
find_packages('proj/src1') + find_packages('proj/src2')