前段時間在阿里雲買了一台服務器,准備部署網站,近期想玩一些深度學習項目,正好拿來用。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 發布!