python - 如何使用 setuptools 为 wheel 包放置和加载预构建的本地库
问题描述
我正在尝试为依赖本机库的 Python 模块创建一个 wheel 包。它仅适用于特定的 Linux 发行版,不会公开,很好,我不想使用 setuptools 构建它Extension
。
现在我有 Python 代码和几个.so
文件,并且想将它们放入一个包中,以便我们可以使用pip
.
到目前为止,我指定了模块MANIFEST.in
并调用setuptools.setup
,include_package_data=True
因此在我在环境下安装包后,清单中指定的文件位于下面树中的目录 (3) 中venv
。
venv
└── lib <----- (1)
└── python3.6
└── site-packages <----- (2)
└── my_module <----- (3)
我的问题是:
- 有一些 PyPI 包将
.so
文件放在 (1) 中。如果有可能我也想把我.so
的文件放在那里,我如何在我的setup.py
? - 同样,我的一个
.so
是使用 SWIG 生成的,它需要在 (2) 中。我可以手动将它移到那里,但如果有办法setup.py
我想知道。 - 对于这种情况,现在我需要
LD_LIBRARY_PATH
在使用我的代码执行 Python 脚本之前手动指定。使用 setuptools 有没有更好的方法来做到这一点?
解决方案
推荐阅读
- r - R中间隔内有多少分钟
- ios - 当我们在文本和图像之间切换按钮内容时,如何停止 SwiftUI 更改固定填充?
- python - pre_save 在 mongoengine update_one 中不起作用
- reactjs - React 创建应用程序和 SonarQube 认知复杂性
- c++ - 具有独立子项目的 CMake 项目
- .net-core - 是什么导致了我的 DbUpdateConcurrencyException?
- javascript - JS Math setinterval 一个范围内的随机数
- reactjs - 如何在使用 npx 创建 React 应用程序时解决错误
- angular - 在 Angular NGRX Effect 中链接两个 API 调用
- node.js - 如何在shell脚本文件中执行nodejs文件