2024-04-25 00:48:36 发布
网友
或者python项目中包含的所有依赖于tar的模块(或者说包含在python项目中的依赖项)。在
我有一个基于cliff的CLI模块,我们有多个基于python的Swagger SDK。在
我想用这个来构建一个包,它将在脱机(不使用internet)中使用简单的pip install build_package.zip命令进行安装。在
pip install build_package.zip
您可能需要为每个项目(即每个依赖项)构建一个轮子。 然后,按依赖顺序安装它们(要直接安装一个轮子,请看一下this SO question)。在
如果你想把所有的东西都放在同一个档案里,你可以简单地把所有轮子都拉起来。首先将它们解压,最后逐个安装每个控制盘(可以将所有内容嵌入自解压归档文件中,例如there)。在
另一种更贪婪的方法是压缩site-packages中的所有内容。它位于已安装的python bin附近(例如,对于python2.7中名为venv的virtualenv,venv/lib/python2.7/site-packages)。然后您只需要解压缩目标机器的site-packages中的所有内容。在
site-packages
venv
venv/lib/python2.7/site-packages
但是,请注意,这假设您用来压缩的机器和目标机器具有相同的体系结构,并且运行相同版本的python。。。 此外,归档时必须小心,因为如果安装了其他软件包,则可能不需要额外的依赖项)。在
pip install upgrade ...
您可能需要为每个项目(即每个依赖项)构建一个轮子。 然后,按依赖顺序安装它们(要直接安装一个轮子,请看一下this SO question)。在
如果你想把所有的东西都放在同一个档案里,你可以简单地把所有轮子都拉起来。首先将它们解压,最后逐个安装每个控制盘(可以将所有内容嵌入自解压归档文件中,例如there)。在
另一种更贪婪的方法是压缩
site-packages
中的所有内容。它位于已安装的python bin附近(例如,对于python2.7中名为venv
的virtualenv,venv/lib/python2.7/site-packages
)。然后您只需要解压缩目标机器的site-packages
中的所有内容。在但是,请注意,这假设您用来压缩的机器和目标机器具有相同的体系结构,并且运行相同版本的python。。。 此外,归档时必须小心,因为如果安装了其他软件包,则可能不需要额外的依赖项)。在
最后,我想你已经考虑过这个选项了,不过,我建议你重新考虑一下。当涉及到版本处理时,允许在线安装项目实际上不那么麻烦(例如,通过手动执行所有这些操作,您将失去版本管理:
pip install upgrade ...
)。在相关问题 更多 >
编程相关推荐