Basic setup.py -包括共享库



我正在打包一个Python包,其中包含大约20个Python模块和一个共享库[1]。我已经创建了以下setup.py文件:

from setuptools import setup, find_packages
setup(
name = "mypack",
version = "1.0",
author = "Bill Coder",
author_email = "bill.coder@email.com",
description = ("My Code"),
packages=find_packages(),
long_description="Long description",
)

文件系统是这样的:

mypack/
__init__.py
sub_pack1/
__init__.py
module1.py
module2.py
sub_pack2
__init__.py
moduleA.py
shared_library.so

我试过以下命令:

bash% python -m build --wheel

bash% python setup.py bdist_wheel

在这两种情况下都组装了一个wheel包,但是共享库mypack/subpack2/shared_library.so而不是包含在最终产品中。

[1]:共享库来自pyx文件上的cythonize。理想情况下,我希望将扩展构建为setup.py的一部分-但现在我满足于外部构建过程的更温和的野心,然后将所有内容打包成我可以自己安装的包。该包的目的只是作为CI和目标之间的临时步骤-该包将不会被发布。

添加include_package_data=True到您的setup.py.

您可能需要在您的项目根目录中包含一个MANIFEST.in文件,该文件指向附加文件:

include mypack/sub_pack2/shared_library.so

更多信息在这里

相关内容

  • 没有找到相关文章

最新更新