如何将lib.so文件打包为.whl文件,以便用户不必更改LD_LIBRARY_路径?

2024-10-02 04:27:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个mypackage轮子mypackage-py3.7-linux-x86_64,它安装在/usr/local/conda/lib/python3.7/site-packages/mypackage-py3.7-linux-x86_64.egg中并添加依赖项:

/usr/local/conda/lib/python3.7/site-packages/libdependencyroot.so
/usr/local/conda/lib/python3.7/site-packages/libdependencydeeper.so

我的$LD_LIBRARY_路径似乎包含了人们需要的一切:

echo $LD_LIBRARY_PATH
>>> /usr/local/conda/lib:/usr/local/lib

当我尝试使用

python
import mypackage
...
>>> ImportError: libdependencyroot.so: cannot open shared object file: No such file or directory

如果我在/usr/local/conda/lib下复制lib文件或将/usr/local/conda/lib/python3.7/site-packages/添加到LD_LIBRARY_路径,问题就会消失

假设我可以去重新设计mypackage-py3.7-linux-x86_64.whl。我应该在那里做些什么来发现我的依赖关系?我不想弄乱LD_LIBRARY_PATH,我也不确定whl把东西放在/usr/local/conda/lib之下是否公平


Tags: path路径solinuxlibpackagesusrlocal

热门问题