繁体   English   中英

基本 setup.py - 包含共享库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM