离线python打包,所有需要的包都在单个tar或类似轮子的fat jar for j中

2024-04-25 00:48:36 发布

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

或者python项目中包含的所有依赖于tar的模块(或者说包含在python项目中的依赖项)。在

我有一个基于cliff的CLI模块,我们有多个基于python的Swagger SDK。在

我想用这个来构建一个包,它将在脱机(不使用internet)中使用简单的pip install build_package.zip命令进行安装。在


Tags: 模块installpip项目命令buildpackagecli
1条回答
网友
1楼 · 发布于 2024-04-25 00:48:36

您可能需要为每个项目(即每个依赖项)构建一个轮子。 然后,按依赖顺序安装它们(要直接安装一个轮子,请看一下this SO question)。在

如果你想把所有的东西都放在同一个档案里,你可以简单地把所有轮子都拉起来。首先将它们解压,最后逐个安装每个控制盘(可以将所有内容嵌入自解压归档文件中,例如there)。在


另一种更贪婪的方法是压缩site-packages中的所有内容。它位于已安装的python bin附近(例如,对于python2.7中名为venv的virtualenv,venv/lib/python2.7/site-packages)。然后您只需要解压缩目标机器的site-packages中的所有内容。在

但是,请注意,这假设您用来压缩的机器和目标机器具有相同的体系结构,并且运行相同版本的python。。。 此外,归档时必须小心,因为如果安装了其他软件包,则可能不需要额外的依赖项)。在


最后,我想你已经考虑过这个选项了,不过,我建议你重新考虑一下。当涉及到版本处理时,允许在线安装项目实际上不那么麻烦(例如,通过手动执行所有这些操作,您将失去版本管理:pip install upgrade ...)。在

相关问题 更多 >