问题描述
我通过
创建了一个 python 二进制发行版 [wheel]python setup.py bdist_wheel
轮子如下图
unzip -l dist/<package-name>-1.0.0-cp36-cp36m-linux_x86_64.whl
Archive: dist/<package-name>-1.0.0-cp36-cp36m-linux_x86_64.whl
Length Date Time Name
--------- ---------- ----- ----
2996432 2021-01-07 21:47 lib<xyz>.so
7821608 2021-01-07 21:48 lib<abc>.so
4414000 2021-01-07 21:48 <module>.cpython-36m-x86_64-linux-gnu.so
581 2021-01-07 20:05 <package-name>/__init__.py
636 2021-01-07 20:05 <package-name>/version.py
安装轮子后,为什么 *.so 文件会安装在 site-package 文件夹中?
/opt/conda/lib/python3.6/site-packages/
虽然其他文件安装在里面
/opt/conda/lib/python3.6/site-packages/<package-name>
解决方法
Wheel 本质上是一种压缩形式的包分发。因此它可以被解压缩[像一个 zip 文件]。压缩轮内的整个目录结构将按原样复制到 site-packages 文件夹中。这就是为什么
- 共享库存储在站点包中,并且
- 其余的包文件[例如
__init__.py
存储在 site-packages 的 package 子文件夹中]。
wheel 基本上被解压到 site-packages 文件夹中。