背景
毕业设计时在本地虚拟机上使用了一个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