虚拟环境复制
conda-pack
第一种方式
conda打包
- 在打包之前如果没有conda-pack包的话,需要安装pip install conda-pack
- 打包
conda pack -n py36 -o py366.tar.gz
-o就是给导出
得到的压缩包就在当前目录下
-
传输到另外一台服务器上
有两台linux服务器,我自己使用的是windows平台,使用xftp先从第一个服务器上把压缩包传输到windows上,然后再传输到另一个服务器的anaconda下的envs目录下,也就是/root/software/anaconda3/envs。 -
创建同一环境名称文件夹:py366
因为我们是要将压缩文件解压到py366中,这个创建的名字到时候就是你的虚拟python环境的名字。
这里直接解压缩,不创建文件
mkdir py366
- 解压缩:
tar -zxvf py366.tar.gz -C py366
- 激活环境变量
conda activate py366
可以看到此时我们anaconda3/envs目录下的文件。
7. 总结
这种python环境打包,只能在同一种操作系统中进行,比如你在windows平台上安装的anaconoda,打包anaconda中的python环境到linux服务器中,这样的是用不了的,我之前不知道,进行了这样的尝试,还以为出现了错误。
左边的是windows下的anaconda/envs下的py36环境下的文件,而右边是linux下的anaconda3/envs下的py37环境下的文件,可以看到两个是不一样的,这也就说明了两种系统的python环境是不能这样操作的。
第二种方式
- 导出环境:首先,你需要导出你的conda环境到一个YAML文件。这可以通过在命令行中运行以下命令来完成:
激活你想要打包的环境
conda activate 环境名
- 将该环境打包
conda env export > environment.yml
这个命令会创建一个名为environment.yml的文件,其中包含了环境中所有包的详细信息。
-
分享YAML文件:将这个environment.yml文件发送给其他人。他们可以使用这个文件在他们自己的机器上重建环境。
-
目标机器上重建环境:收到environment.yml文件的人可以通过以下命令在他们的机器上创建一个相同的环境:
conda env create -f environment.yml
这个命令会读取YAML文件并创建一个与你的环境相同的新环境