【发布时间】:2021-04-14 19:12:51
【问题描述】:
我有一个通过
创建的 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>
【问题讨论】:
-
我想知道这个问题的原因。特别是为什么专注于轮子。与任何其他分发格式不一样吗?或者干脆用
python setup.py install举例? -
为什么 *.so 文件会安装在 site-package 文件夹中?因为这是您在设置脚本中指定的内容。
-
在安装脚本中我没有提到任何特定于 *.so 文件的内容。换句话说,为什么 *.so 文件不被打包在库内部而不是外部?
-
您愿意将
lib*.so文件安装在包中吗? -
关于存储与包相关的 .so 文件的位置建议是什么?我在站点包内的 torch 目录中看到了 pytorch *.so 文件。所以我假设与包相关的 *.so 文件应该在包内而不是站点包内。有什么推荐的吗?
标签: python-c-api python-packaging python-wheel