VScode不愧是用戶數量上升最快的編輯器,界面華麗(當然,需要配合各種主題插件),十分容易上手且功能強大。之前用它寫C++體驗十分nice,現在需要學習tensorflow,而工欲善其事必先利其器,搭建一個舒服的開發環境是非常重要的第一步。
目標:在linux下從無到有,安裝anaconde3, tensorflow, 配置vs code,直到可以運行一個tensorflow版hello world(實為mnist手寫數據分類)。盡管有其他的安裝tensorflow的方式,但使用anaconda安裝最方便,而且在conda虛擬環境中安裝不怕搞砸重來,反正是虛擬環境嘛。
安裝Anaconda3
下載Anaconda
對國內用戶來說,最快最方便的方式就是到清華鏡像站上下載anaconda的安裝包:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
安裝Anaconda
打開終端,cd到下載目錄。下載得到的文件具有.sh后綴,顯然是一個shell腳本,於是用bash命令執行它:
bash Anaconda3-5.3.1-Linux-x86_64.sh
以下除非特殊說明,命令均為在bash下執行。
注意這里的文件名可能與你下載的文件名字不同,務必換成自己下載的文件名。
安裝過程中會有一些需要確認的問題,一路yes即可。
配置環境變量
安裝程序會提示你將Anaconda加入$PATH,如果你沒有加入,或忘記了自己是否選擇了YES,那么需要配置環境變量。
用任意的編輯器打開.bashrc文件(需要sudo 權限才能編輯),在文件末尾添加一行
export PATH="/home/lanhsi/anaconda3/bin:$PATH" #注意,lanhsi是我的用戶名,如果你也將Anaconda安裝在默認位置,那么將lanhsi替換成你自己的用戶名即可,否則需要將地址整個替換為anaconda的安裝位置。
退出編輯器,執行
source ~/.bashrc
這條命令將重新載入你的bash配置,以使環境變量修改生效。
檢驗安裝是否成功:
conda -V
如果像下圖一樣打印出conda版本號,說明安裝成功。
安裝VS CODE
實際上安裝Anaconda時,安裝程序會聲稱anaconda與微軟具有合作關系,然后詢問你是否要安裝VS CODE,如果你在這一步沒有選擇安裝VS CODE,那么就需要自行安裝了。
由於linux各發行版的安裝方式都不同,因此這里不詳細描述安裝過程了。對於我使用的ubuntu19.10來說,從vs code官網下載.deb 包,然后終端運行
dpkg -i 包名.deb
即可
安裝TENSORFLOW
首先,創建一個叫做tf的虛擬環境
conda create -n tf
然后,我們需要進入這個剛創建的tf環境中去安裝tensorflow
source activate tf
#注:如要退出這個環境,只需要執行source deactivate tf
進入虛擬環境后,提示符會變化,顯示你正處在的虛擬環境名字
讓conda去安裝tensorflow,以及tensorflow依賴的一大堆其他軟件
conda install tensorflow
過程比較漫長,可以先喝杯咖啡休息一下。
安裝成功后,進入tf虛擬環境,進入python命令行,嘗試導入tensorflow:
import tensorflow as tf
沒有報錯,那么說明tensorflow安裝好了。
配置VSCODE
距離萬事大吉只差一步了,只要在VS CODE中添加CONDA的環境,就能在VS CODE中方便的使用tensorflow了。
假定我們已經安裝好了官方Python插件。打開VS CODE,點擊文件->首選項,點擊左側列表中python旁邊的小齒輪,選擇配置擴展信息
找到右邊的配置選項autoComplete:extraPath,選擇在settings.json中編輯
圖中選中的三行是我們需要添加的信息。這幾行中,第一行自定義了一個Python解釋器,將其設置為anaconda帶的python解釋器;后面幾行配置了Python自動補全的路徑,相當於是include了這些目錄中的文件,這樣VS CODE就可以讀取到tensorflow,方便自動補全。同樣,記得將路徑中的lanhsi換成你的用戶名。
不要忘了在配置完成后,更換Python解釋器為圖中下拉清單的最后一個也就是在settings.json中設置的那個,相當於將運行環境更換為我們剛添加的conda虛擬環境。
創建一個py文件,內容為
最后一步,在VSCODE的集成終端中運行這個文件。
如果配置成功,新建終端時,可以看到自動啟動了conda 且進入了tf虛擬環境:
code runner插件更是可以一步直接運行文件,非常方便。
到此VS CODE下的TENSORFLOW環境就搭好了。萬事開頭難,而一個好的開頭又是成功的一半,環境搭好后我們的項目就等於已經開發了一半了(笑)