conda无网络环境迁移

conda无网络环境迁移

Q:服务器没有网或者无法发下载一些特殊的包,但我想安装自己的虚拟环境

简介

只能同系统下迁移 > win to win | linux to linux

做法:使用conda pack进行环境迁移。

  1. 先在别的有网的服务器上安装好环境
  2. 然后在将环境迁移到没有网络的服务器上,就可以正常使用了

用conda pack进行打包因为pip inatall和conda install的都能够被打包

conda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件。

第一步:环境安装

创建好需要的环境以及下载需要的包

假设我以已经 创建好了需要的环境以及下载需要的包

使用命令:conda env list 查看当前的虚拟环境

C:\Users\lihui>conda env list
# conda environments:
#
base F:\anaconda3
py38aiclass F:\anaconda3\envs\py38aiclass
py38test F:\anaconda3\envs\py38test
yolov5 F:\anaconda3\envs\yolov5

假设我们稍后需要打包的环境为py38aiclass

第二步:环境打包

下载 conda-pack

pip install conda-pack

C:\Users\lihui>pip install conda-pack
Looking in indexes: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
Requirement already satisfied: conda-pack in f:\anaconda3\lib\site-packages (0.6.0)
Requirement already satisfied: setuptools in f:\anaconda3\lib\site-packages (from conda-pack) (68.0.0)

使用conda-pack打包

conda pack -n 虚拟环境名

C:\Users\lihui>conda pack -n py38aiclass
Collecting packages...
Packing environment at 'F:\\anaconda3\\envs\\py38aiclass' to 'py38aiclass.tar.gz'
[########################################] | 100% Completed | 4min 58.5s

第三步:环境迁移

注意:windows下可以直接打包原来环境的zip包(直接压缩即可)切换电脑后解压

打包后的tar包在:C:\Users\lihui\py38aiclass.tar.gz

任意方式传输到其他服务器或者个人电脑

迁移至windows环境

传输

image-20241210153035285

第四步:环境恢复

解压

解压后

image-20241210153059837

验证

image-20241210153117834

C:\Users\31518>where conda
E:\Computer\anaconda\Library\bin\conda.bat
E:\Computer\anaconda\Scripts\conda.exe

C:\Users\31518>conda env list
# conda environments:
#
E:\Computer\Anaconda
base E:\Computer\anaconda
labelme E:\Computer\anaconda\envs\labelme
py38 E:\Computer\anaconda\envs\py38
py38aiclass E:\Computer\anaconda\envs\py38aiclass


C:\Users\31518>conda activate py38aiclass

(py38aiclass) C:\Users\31518>python -V
Python 3.8.19

(py38aiclass) C:\Users\31518>conda list
# packages in environment at E:\Computer\anaconda\envs\py38aiclass:
#
# Name Version Build Channel
anyio 4.4.0 pypi_0 pypi
argon2-cffi 23.1.0 pypi_0 pypi
argon2-cffi-bindings 21.2.0 pypi_0 pypi
arrow 1.3.0 pypi_0 pypi