服务器离线安装anaconda

背景介绍

学校机房,CPU节点的账号可以联网,可以pip install 非常方便,但是GPU节点不能连接外网,导致很不方便. 所以想办法从CPU这边下好各种环境,再迁移到GPU那边。

参考文章

离线情况下“拷贝”另一个账号的python包
离线情况下创建conda虚拟环境

方法步骤

离线安装anaconda

这个网上有很多,我记得是下载安装包,然后用winSCP上传到GPU,然后执行脚本安装,我安装了一个3.8.1的python,然后配置环境变量什么的。

创建环境

因为我要用3.6的python环境,所以我执行了下面的指令:

conda create -n python_CPU_3_6 python=3.6

然后他很***的出现了网络错误。然后我切到CPU账户下做了下面几件事情:

  1. 安装anaconda3
  2. conda create -n python_CPU_3_6 python=3.6
  3. pip install 各种我需要的包

一切准备完成,我利用scp将CPU中的anaconda3/env 和 anaconda3/pkgs 文件夹发给我的GPU账户,然后切回GPU账户的根目录:

conda create -n python_GPU_3_6 python=3.6 --clone ~/env --offline

这样就成功创建了环境,当然其他老哥说要用CPU中的pkgs文件夹覆盖GPU中anaconda3中的pkgs文件夹,但是我没这么做好像成功了。

拷贝库

切换到CPU目录下:
我新建了一个叫transfer的文件夹,然后执行下面的指令

conda activate python_CPU_3_6
pip freeze >~/transfer/requirements.txt
pip download  -r requirements.txt  -d ~/transfer/data

之后SCP给我烦人的GPU

切换到GPU账户下:

conda activate python_GPU_3_6
cd transfer
pip install --no-index --find-links=./date -r requirements.txt --user

这里,文章中的老哥有个地方我实际尝试的时候发生错误,他没有最后–user的选项,我运行的时候报错了,shell提示我加上这个,我加上就不报错了,可能是权限的问题,这个有老哥可以解释下吗?

总结

我的理解是pip freeze将CPU节点里面的包的名字写在requirement.txt里面,然后通过pip download按照txt里面的名字把安装包下好,然后打包发给离线的可怜的GPU,最后利用打包的信息离线安装

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值