【发布时间】:2021-03-19 17:52:19
【问题描述】:
我有一个库 git repo sub_lib,由于各种原因,我无法直接发布到 pypi 存储库。相反,我将它用作另一个库 main_lib 的 git 子模块,结构如下:
my_repo/
setup.py
main_lib/
__init__.py
sub_lib/ # a git submodule
setup.py
sub_lib/
__init__.py
main_lib 需要import sub_lib,那么如何配置my_repo 的setup.py 以同时包含main_lib 和sub_lib 作为包?特别是,是否可以让setup.py 包含来自子目录的包(因为它在sub_lib/sub_lib/ 中)?
当前 setup.py:
from setuptools import setup, find_packages
setup(
name='main-lib',
...,
packages=find_packages(exclude=['tests*']),
package_data={'main_lib': ['py.typed'], 'sub_lib': ['py.typed']},
)
或者使用符号链接更好地解决这个问题?
【问题讨论】:
-
显示您的
setup.py。您可能需要使用setuptools.setup()函数调用的package_dir参数。 -
基本上就是这样:
from setuptools import setup, find_packagessetup( name='main-lib', ..., packages=find_packages(exclude=['tests*']), package_data={'main_lib': ['py.typed'], 'sub_lib': ['py.typed']}, ) -
不要将其添加为评论,编辑您的问题以将您的
setup.py添加到您的问题中。
标签: python git-submodules setup.py