Anaconda环境复制(移植)

背景
毕业设计时在本地虚拟机上使用了一个conda环境,租了阿里云服务器后需要将其搬过去。原先打算重新从零开始安装环境,但是装了半天未能成功,最后打算使用环境移植试试,发现可以正常使用。

服务器安全组设置

我的应用是一个基于web.py的网页应用,因此要在云服务器的管理控制台上设置端口。其位于网络与安全-安全组-配置规则中。点击添加安全组规则,协议类型选择Http(80),授权对象0.0.0.0/0(表示所有IP)。PS.如果使用了类似8080到8083的端口,则需要重新添加规则,协议类型选择自定义TCP,端口设置为8080/8083。

安装Anaconda

这里使用离线安装,选择清华源的镜像。
下载完成后cd到文件所在目录,用bash安装:bash Anaconda3-2019.07-Linux-x86_64.sh
一路回车就好,安装完成后如果没有设置path,则每次重启终端都要加上这句:export PATH=~/anaconda3/bin:$PATH

永久添加所有用户的全局变量

nano /etc/profile
在里面加入export PATH=~/anaconda3/bin:$PATH
使生效:source /etc/profile

conda环境复制

在虚拟机中,输入:conda info --env可以查看当前的环境和所在路径。
将其复制到宿主机中,再用winscp上传到云服务器的Anaconda环境目录中,我安装的时候默认在/root/anaconda3/envs
复制完成后可以运行环境看下是否工作正常:conda info --env
source activate 环境名

可能遇到的问题

  • 环境目录无法从虚拟机拖出到宿主机
    先将环境目录压缩,拖到云服务器上后使用tar -zxvf ×××.tar.gz解压缩。
  • 某些模块报错
    报错代码:
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
ImportError: libXrender.so.1: cannot open shared object file: No such file or directory
ImportError: libXext.so.6: cannot open shared object file: No such file or directory

解决方法:

apt-get install libsm6
apt-get install libxrender1
apt-get install libxext-dev
原文地址:https://www.cnblogs.com/wuu02/p/12396599.html