【问题标题】:How to package all my library dependencies in wheel file?如何将我的所有库依赖项打包在轮文件中?
【发布时间】:2020-01-16 10:07:00
【问题描述】:

我有一个自定义库/包(比如my_utils),它有一些库依赖项,例如pandasnumpyboto 等。我创建了wheelmy_utils.whl)相同,但不包括我上面提到的依赖项。所以当我安装my_utils.whl时,它会在线下载依赖。

我的要求是在没有互联网连接的服务器上安装my_utils.whl 文件。所以我想将所有依赖项与my_utils.whl 一起打包以创建final_my_utils.whl

在我要上传此轮文件的服务器上,具有 GUI,并且只能使用 pip3 install final_my_utils.whl 安装轮文件

有什么方法可以实现吗?

编辑:感谢所有答案。但正如我所提到的,我要安装此软件包的服务器只有 GUI,我无法运行任何命令。在内部,它将运行pip3 install some_wheel.whl 文件。因此,我想要单个轮文件打包所有依赖项。

【问题讨论】:

标签: python pip python-wheel


【解决方案1】:

首先你需要在你的项目中创建一个wheelhouse 目录并cd in。

mkdir wheelhouse
cd wheelhouse

其次,你应该运行所有你想要的包。

例如:numpy和flask ...

pip wheel numpy flask

你所有的轮子都进入wheelhouse 目录。只需压缩目录,然后在目标服务器上解压缩并运行以下脚本:

import glob, pip
for path in glob.glob("c:/path/to/wheelhouse/*.whl"):
    pip.main(['install', path])

【讨论】:

  • 感谢您的回答。但正如我所提到的,我要安装此软件包的服务器只有 GUI,我无法运行任何命令。在内部,它将运行 pip3 install some_wheel.whl 文件。因此,我想要单个轮文件打包所有依赖项。
猜你喜欢
  • 1970-01-01
  • 2019-06-30
  • 2011-10-01
  • 1970-01-01
  • 2017-11-06
  • 2016-04-21
  • 1970-01-01
  • 2023-03-28
  • 2018-10-05
相关资源
最近更新 更多