将conda环境整体打包分发到另一台不能联网的主机

突然有这么个需求,将conda环境整体打包分发,但是要部署的设备因为一些问题无法联网,也就是说我们不是要导出我们的包名称在另一台电脑上安装,而是将所有的源文件打包。这里我们用到了一个conda的包

安装pack包

首先我们需要安装 conda pack

conda install -c conda-forge conda-pack

这一步一般不会报错,报错的话重启解决90%,重装anaconda解决99%。

然后我们查看我们有哪些虚拟环境

conda info -e

我这里刚刚重装了,所以只有一个虚拟环境 RL_CPN

# conda environments:
#
base                     C:\Users\LoveSS\anaconda3
RL_CPN                   C:\Users\LoveSS\anaconda3\envs\RL_CPN

这个名为 RL_CPN 的环境是我们配置好的,可以正常运行代码的。

打包

我们激活这个需要的环境

conda activate RL_CPN

然后打包

conda pack RL_CPN

就会出现类似的画面

Collecting packages...
Packing environment at 'C:\\Users\\LoveSS\\anaconda3\\envs\\RL_CPN' to 'RL_CPN.tar.gz'
[###                                     ] | 7% Completed |  5.9s

中间不出错的话就应该没问题,最终会得到 RL_CPN.tar.gz 这个打包文件,这个文件在当前目录,如果我们期望在指定的目录,可以先跳转到指令目录在执行打包程序,这种文件格式一般在Linux下或者Mac下可以直接通过 tar命令解压,但是在Windows下我们还需要一点点技巧。

在另一台不能联网的计算机上安装

首先安装anaconda,这个是傻瓜式操作,需要注意的点是要我们选择上直接把conda添加到系统的PATH。安装好anaconda后,我们解压之前得到的RL_CPN.tar.gz压缩包,其实windows下也有tar解压命令,只是参数和linux下的不太一样罢了,

tar -xf RL_CPN.tar.gz
参数 解释
t 显示档案文件列表内容(已压缩的文件)
x 解压档案文件
c 生成档案文件,创建打包文件
f 指定档案文件名称,f必须放在命令参数最后

我们解压出来一堆文件,这一堆文件先不要管,我们找到conda中存放虚拟环境的目录,如果之前我们安装conda的时候一直傻瓜操作连安装目录都没改的话,现在应该在 C:\Users\LoveSS\anaconda3\envs这个目录下,其中 LoveSS 是我的计算机名称。我们在这个目录下新建一个文件夹叫做 RL_CPN ,然后把我们刚刚解压的文件复制进来,终端输入命令

conda info -e

现在我们就能看到我们想要的环境 RL_CPN 了,激活它

conda activate RL_CPN

然后我们就可以使用这个环境了

错误

在第一次尝试的过程中出现了一个错误,这个错误大概是anaconda is not in your PATH ,大概是这个意思,我尝试了将conda的路径放入系统的PATH中,重启后也没什么用,依旧报这个错误,重装anaconda后这个错误没了…

猜你喜欢

转载自blog.csdn.net/weixin_43903639/article/details/129468779