背景
畢業設計時在本地虛擬機上使用了一個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