前段時間在阿裡雲買了一台伺服器,準備部署網站,近期想玩一些深度學習項目,正好拿來用。TensorFlow官網的安裝僅提及Ubuntu,但我的ECS作業系統是 CentOS 7.6 64位,搭建Python、TensorFlow、Jupyter開發環境過程中遇到很多問題。這裡将具體步驟分享給大家,可以少走很多彎路。
第一步 安裝anaconda
Anaconda在linux依然功能強大,管理工具包、開發環境、Python版本都非常友善。
先在根目錄下建立一個檔案夾用于存放Anaconda安裝包
~# mkdir anaconda
~# cd anaconda
為保障下載下傳速度,建議選擇清華大學鏡像站
https://mirrors.tuna.tsinghua.edu.cn
選擇版本,複制連結
anaconda目錄下運作:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.03-Linux-x86_64.sh
這裡可能會報錯,多半是無法解析主機位址,也即DNS解析的問題。
解決辦法:
登入root
sudo vim /etc/resolv.conf
修改内容為下
nameserver 8.8.8.8
nameserver 8.8.4.4
切換到anaconda3所在檔案位置
bash Anaconda3-2019.03-Linux-x86_64.sh
一路yes,直到安裝完成
如果中間報錯,這是因為之前建立過anaconda3了
解決辦法:
bash Anaconda3-2019.03-Linux-x86_64.sh -u
測試一下,python pip也都安裝成功了
如果在安裝Anaconda的過程中沒有将安裝路徑添加到系統環境變量中,需要在安裝後手工添加:
1、在終端輸入 vim/etc/profile,打開profile檔案。
2、在檔案末尾添加一行:
exportPATH=/root/anaconda3/bin:$PATH,儲存。
3、讓/etc/profile檔案修改後立即生效 ,可以使用如下指令: source /etc/profile
另外,Anaconda安裝完成後會建立一個叫base的預設環境,Linux的終端界面前部出現(base)字樣,如不介意,可以跳過這個步驟:
在終端中輸入conda deactivate,即可消除base字樣,但這是一次性的,再次打開終端依然存在base字樣。在.bashrc檔案添加指令:conda deactivate可以永久消除base字樣。
1.打開一個終端 ,輸入指令:gedit~/.bashrc
2.在 .bashrc檔案最後面添加指令:conda deactivate
第二步 安裝虛拟環境
virtualenv 是一個建立隔絕的Python環境的工具,用virtualenv建立一個包含所有必要的可執行檔案的檔案夾,用來使用Python工程所需的包。
conda也能配置虛拟環境,可以直接從base克隆
conda create -n myenv--clone base
但是我還是習慣用virtualenv,conda方法的後續配置方法,大家自行嘗試。
1、安裝virtualenv
pip install virtualenv
在pip安裝包時,系統預設是從aliyun鏡像,我試過幾個鏡像源,發現還是清華的鏡像源比較快。我們修改一下配置檔案:
mkdir ~/.pip
cd ~/.pip
vi pip.conf
将檔案内容修改為以下内容,儲存即可。
[global]
index-url =https://pypi.mirrors.ustc.edu.cn/simple/
2、安裝虛拟環境,這裡選擇Python3.7版,環境名設為:myenv
conda create -n myenv python=3.7
3、激活虛拟環境
source activate myenv
4、在虛拟環境安裝TensorFlow
pip install --ignore-installed --upgrade packageURL
官網提供的URL來自google,由于衆所周知的原因。。。是以我們從pypi.org下載下傳安裝
pip install --ignore-installed --upgrade https://files.pythonhosted.org/packages/2a/5c/f1d66de5dde6f3ff528f6ea1fd0757a0e594d17debb3ec7f82daa967ea9a/tensorflow-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl
測試一下,安裝成功!
第三步 搭建Jupyter并遠端通路
Anaconda安裝成功後,Jupyter也一樣安裝好了
But這樣是不行的,因為juypter內建在anaconda中,并不在虛拟環境myenv下,是以我們需要回到第二步中的激活虛拟環境,然後再次安裝jupyter:
pip install jupyter
安裝完成後運作#jupyter notebook會報錯,提示說找不到該檔案之類的,是沒有配置環境變量的原因。
解決辦法:
vim /root/.jupyter/jupyter_notebook_config.py
改幾個地方:
c.NotebookApp.ip = \'ip位址\' #
c.NotebookApp.password = u\'秘鑰\'
c.NotebookApp.port = 8889 # 端口号,自設
c.NotebookApp.enable_mathjax = True
c.NotebookApp.notebookdir = "jupyter安裝位址"
其中,ip位址可以在控制台執行個體清單中查詢,這裡要填寫下圖私有ip
秘鑰可以用ipython生成,是的anaconda也內建了ipython,設定一個簡單的密碼(别忘了,後面還要用),生成的秘鑰複制過去即可,代碼如下:
查詢jupyter安裝位址
将上文位址修改為/root/anaconda3/envs/myenv/bin
以上修改完畢,再次運作jupyter notebook
但是,還沒有結束呢。
我們還需要設定一下ECS執行個體的安全規則,入方向、出方向一樣。
至此,所有設定完畢!在伺服器端運作jupyter notebook,程序在背景運作。
再次在控制台執行個體清單中查詢ip
http://上圖第一個IP位址:8889,複制到本地電腦浏覽器,輸入設定的密碼,即可通路了!測試一下,一切正常,大功告成!
本文由部落格一文多發平台 OpenWrite 釋出!