• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

conda虚拟环境的离线迁移

武飞扬头像
Lsy_0408
帮助1

假定A为能上网的需要迁移出环境的机器;B为不能上网的需要迁移入环境的机器。

方法一:直接拷贝envs下的整个已有环境

先下载A机中envs目录下的已有环境文件夹,并将其上传至B机上

然后使用以下命令:

conda create -n [new_envs_name] --clone[path to envs_names] --offline

注:

-n [new_envs_name]:和正常创建conda的一样,创建新的虚拟环境的名字

--clone [path to envs_names]:需要迁移的虚拟环境文件夹的地址

--offline:离线安装的指令

但实际操作后发现会有RunTimeError,提示信息如下:

学新通

可能的解决方案(待测试):

需要传至B机的不只有envs目录下的已有环境文件夹,还有anaconda下的pkgs文件夹。

所以需要用上传的pkgs文件夹替换B机原有的anaconda/pkgs目录,或者将文件夹里的内容复制到B机原有的pkgs文件夹里面。然后再使用

conda create -n [name] --clone [filepath] --offline

方法二:

1. 导出依赖清单

进入A机的anaconda环境,使用conda导出:

conda env export > copytest.yaml

得到的yaml文件如下: 

学新通

 在A机上建立一个txt文件,命名为conda.yaml,其中复制入dependencies:内的部分,并将“   -  ”替换为“”(把空格和‘-’替换为空)。如果不修改,安装时报错。记事本编辑\替换可以完成这个操作。修改完成的清单如下:

学新通

在A机上再建立一个txt文件,命名为pip.txt,其中复制入pip:内的部分。替换要求同上,修改完成的清单如下:

 学新通

2. 获取依赖安装包

获取conda依赖安装包:

进入A机anaconda安装根目录中的pkgs(注意不是环境中的),拷贝出所有的“.conda”,“.tar.bz2”

下载pip依赖安装包:

在A机上利用pip根据pip.txt中的清单下载依赖包。-r表示依赖清单,-d表示存储依赖的路径。(此处cd到了Desktop)

pip download -r pip.txt -d piplib

注:若使用 pip freeze > pip.txt 命令,其中部分导出的模块会显示 @ file:///…,并非具体的版本号,会导致报错。

学新通

最终需要从A机传至B机的共有以下四个文件: conda.yaml,pip.txt,conda安装包文件夹(名为condafile),pip安装包文件夹(名为pipfile)

3. B机安装

进入B机已创建的环境

conda安装:

将condafile里面的所有文件拷贝到B机的anaconda/pkgs目录,Cd 到conda.yaml 的目录下,并执行命令:

Conda install --file conda.yaml –offline

若出现报错,可能是由于安装了其他python版本的包,或者是其依赖库没有找到,需要下载相对应的库。

pip安装:

同上,Cd 到pip.txt 的目录下,并执行命令:

Pip install -r pip.txt --no-index --find-links=.  --user

参考:

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfkjib
系列文章
更多 icon
同类精品
更多 icon
继续加载