1. 程式人生 > >手把手教你如何在阿里雲ECS搭建Python TensorFlow Jupyter

手把手教你如何在阿里雲ECS搭建Python TensorFlow Jupyter

前段時間在阿里雲買了一臺伺服器,準備部署網站,近期想玩一些深度學習專案,正好拿來用。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 釋出!