Python | Conda pack 进行环境打包

人码图技术分享1620

conda 常用来执行虚拟环境配置和包管理工作,有时候需要将本地的环境一直到新的离线的机器上,可以使用conda-pack 进行conda 环境打包和分发。

安装

conda 安装

conda install conda-pack
# conda install -c conda-forge conda-pack

pip 安装

pip install conda-pack

使用教程

构建环境的操作系统必须与目标的操作系统匹配。这意味着在Windows上构建的环境不能重新定位到Linux。

命令行

完整的 CLI 文档在这里

一个常见的用例是在一台机器上打包一个环境,以分发给可能未安装conda/python的其他机器。

  1. 在源计算机上(根据需求三选一)

# 把虚拟环境 my_env 打包为 my_env.tar.gz
conda pack -n my_env

# -o 参数指定打包路径和名称,把虚拟环境 my_env 打包为 out_name.tar.gz
conda pack -n my_env -o out_name.tar.gz

# 把某个特定路径的虚拟环境打包为 my_env.tar.gz
conda pack -p /explicit/path/to/my_env

2. 在目标计算机上

前缀(prefixstr):本文指到某一 conda 环境的路径

linux

# 创建目录 `my_env`,并将环境解压至该目录
mkdir -p my_env
tar -xzf my_env.tar.gz -C my_env

# 使用python而不激活或修复前缀。
# 大多数 python 库可以正常工作,但需要处理前缀的部分将失败。
./my_env/bin/python

# 激活环境,同时这步操作会将路径 `my_env/bin` 添加到环境变量 path
source my_env/bin/activate

# 在环境中运行python
(my_env) $ python

# 从激活环境中清除前缀。
# 请注意,也可以在不激活环境的情况下运行此命令
# 只要机器上已经安装了某个版本的python。
(my_env) $ conda-unpack

# 此时,环境与您在此路径直接使用 conda 安装的环境完全相同。
# 所有脚本都应该工作正常。
(my_env) $ ipython --version

# 停用环境以将其从环境变量 path 中删除
(my_env) $ source my_env/bin/deactivate

windows

新建 `my_env` 文件夹,将打包的 my_env.tar.gz 文件解压到该文件夹中。

使用 cmd 打开路径 `my_env` 所在路径

# 进入项目路径
cd C:\my_env

# 激活环境 
.\Scripts\activate.bat

# 从激活环境中清除前缀。
.\Scripts\conda-unpack.exe

# 退出环境
.\Scripts\deactivate.bat


Api 模式

conda-pack还提供了一个Python API,其完整文档可以在这里找到。

import conda_pack

# 把虚拟环境 my_env 打包为 my_env.tar.gz
conda_pack.pack(name="my_env")

# -o 参数指定打包路径和名称,把虚拟环境 my_env 打包为 out_name.tar.gz
conda_pack.pack(name="my_env", output="out_name.tar.gz")

# 把某个特定路径的虚拟环境打包为 my_env.tar.gz
conda_pack.pack(prefix="/explicit/path/to/my_env")
Conda-Pack — conda-pack 0.7.0 documentation
用conda-pack制作离线可移植python环境 | mlstars (shiratori3.github.io)


相关文章

服务器  应用框架。

服务器 应用框架。

nginx是服务器,web.py是web应用框架。简言之,前者封装对网络io的处理,后者负责具体应用的逻辑,解决的问题是不一样的。形象点呢,一个请求来了,nginx先把请求拦下来,发现要的是现成的东西...

linux中用conda创建虚拟环境

linux中用conda创建虚拟环境

首先安装anaconda,使用wegt命令,下载sh文件官网链接:https://www.anaconda.com/products/individual下载命令:wget https://repo....

安装Win11系统绕过TPM 2.0的三种方法

安装Win11系统绕过TPM 2.0的三种方法

安装Win11系统绕过TPM 2.0的三种方法 微软在发布了Win11系统以后,同时也发布了Win 11操作系统的硬件配置要求,其中有一点卡住了很多电脑,那就是TPM2.0。微软认为,TPM2.0芯片...

Docker常用命令详解

Docker常用命令详解

docker daemon命令-docker运行可指定项详解docker attach命令-登录一个已经在执行的容器docker build 命令-建立一个新的imagedocker commit命令...

Hadoop简介

Hadoop简介

Hadoop(Hdfs\MR\Yarn\ZK)一、Hadoop简介1.1 hadoop简介作用:海量数据的存储,海量数据的分析组件:hdfs--------数据的存储  MapReduce-...

python环境的打包与加载

python环境的打包与加载

目录1 pip方式1.1 requirements.txt文件的生成1.2 requirements.txt环境的加载:2 conda方式2.1 env.yml文件的生成2.2 env.yml文件的加...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。