anaconda离线环境迁移(舍弃繁文缛节-直接复制粘贴完成环境迁移)

摘要:

真正的解决方案,就是直接把envs下面的环境,直接复制一份到新环境的envs目录下。


项目场景:

需要把python环境从一台服务器上复制到另一个服务器上,但是服务器不能联网。


找找资料

http://t.csdn.cn/FD6S4http://t.csdn.cn/FD6S4


发现问题

在按上述资料操作的过程中,遇到了文章里提到过的一个问题:也就是

问题描述:在打包导出环境时出现_CondaPackError错误
正常情况下采用上述方法可以实现环境的导出及迁移,但当在第二步安装所需要的包的时候,由于其他包的需要,可能会更新由Anaconda安装的包,主要是pip、setuptools、wheel等几个包,导致在使用conda pack进行环境导出时出现_CondaPackError错误,具体如下

_CondaPackError: 
Files managed by conda were found to have been deleted/overwritten in the
following packages:
 
- pip='9.0.1'
 
This is usually due to `pip` uninstalling or clobbering conda managed files,
resulting in an inconsistent environment. Please check your environment for
conda/pip conflicts using `conda list`, and fix the environment by ensuring
only one version of each package is installed (conda preferred).
————————————————
版权声明:本文为CSDN博主「FY_2018」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/FY_2018/article/details/119710831

原因分析

引用文章中,作者也有写,这里简单复述下。也就是被迁移的环境里,pip安装的包和conda安装的包版本冲突了。需要进行统一。进而要么把所有的包都用pip装一遍,要么用conda装一遍。这也就是繁文缛节的原因了。(我就想迁移一个库,我还得重新装一个库……况且现在这个库能用,重装了之后可能还不能用了)


解决方案(破除繁文缛节)

思路来源:我想着,原文章思路,也就是把原环境用conda pack 打包,然后复制压缩包,直接在新环境的envs下面解压。既然现在conda pack不行,那我为什么不直接手动打包呢,反正都是解压。

于是乎,真正的解决方案,就是直接把envs下面的环境,直接复制一份到新环境的envs目录下。亲测有效!

可能存在的问题:

Q1: envs目录在哪里?

A1: 在anaconda安装根目录里。

Q2: 如果envs目录下面没有环境怎么办?

A2: 那就用anaconda直接建立一个虚拟环境,复制你的base环境,envs目录下面就有环境了。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值