天天看點

手把手教你如何在阿裡雲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 釋出!
手把手教你如何在阿裡雲ECS搭建Python TensorFlow Jupyter