conda虚拟环境的离线迁移
假定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
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13