![](/img/trans.png)
[英]Compiling C shared library with distutils' setup.py, when the library depends on a second shared library
[英]Basic setup.py - include the shared library
我正在打包一个 Python package 和大约 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
在这两种情况下,轮子 package 都已组装,但共享库mypack/subpack2/shared_library.so
不包含在最终产品中。
[1]:共享库来自 pyx 文件上的cythonize
。 理想情况下,我想将扩展作为setup.py
的一部分构建 - 但现在我满足于外部构建过程的更温和的野心,然后将所有内容打包到 package 中,我可以自己安装它。 package 的目的只是作为 CI 和目标之间的临时步骤 - package 不会在此之后发布。
将include_package_data=True
添加到您的 setup.py。
您可能需要在项目根目录中包含一个指向附加文件的MANIFEST.in
文件:
include mypack/sub_pack2/shared_library.so
更多关于这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.