Linux安裝Anaconda和TensorFlow

眾所周知Python常用的版本有2.x和3.x,常常會(huì)引起版本問題。由于我在Linux系統(tǒng)中已經(jīng)安裝有Python3.x和對(duì)應(yīng)的TensorFlow,現(xiàn)在遇到需要跑在Python2.x下的TensorFlow工程時(shí),就很麻煩,因此可以用Anaconda來建立一個(gè)獨(dú)立的小環(huán)境來另外安裝Python2.x及其對(duì)應(yīng)的TensorFlow來跑這個(gè)工程。

Anaconda

Anaconda(官網(wǎng))是什么?其實(shí)就是一個(gè)“開源包管理系統(tǒng)和環(huán)境管理系統(tǒng)”,主要用于解決我遇到的上述問題,需要安裝多個(gè)版本的軟件包及其依賴關(guān)系,并在它們之間輕松切換。它適用于Linux,OS X和Windows,是為Python程序創(chuàng)建的,但可以打包和分發(fā)任何軟件。所以雖然我這里主要用于Python,但其實(shí)也可以用于其他很多環(huán)境。

對(duì)應(yīng)于Python2和Python3,Anaconda也有兩種版本,分別為Anaconda2和Anaconda3。兩個(gè)版本可以在官網(wǎng)很方便地下載到安裝包:

官網(wǎng)下載安裝包

選擇系統(tǒng)后下載對(duì)應(yīng)的包即可,如果不確定自己的系統(tǒng)情況,可以通過命令查看:

$ uname -a

其實(shí)還有一種體積更小的版本叫做Miniconda,區(qū)別在于:

Miniconda是一個(gè)小的“引導(dǎo)”版本,只包括conda,Python和它們依賴的包。 超過720個(gè)科學(xué)軟件包及其依賴項(xiàng)可以使用“conda install”命令從Continuum存儲(chǔ)庫(kù)單獨(dú)安裝。
Anaconda包括conda,conda-build,Python和超過150個(gè)自動(dòng)安裝的科學(xué)包及其依賴項(xiàng)。 與Miniconda一樣,可以使用“conda install”命令單獨(dú)安裝超過250個(gè)額外的科學(xué)軟件包。

下載包后會(huì)得到一個(gè)名為類似“Anaconda2-5.2.0-Linux-x86_64.sh”的文件,使用命令:

$ bash Anaconda2-5.2.0-Linux-x86_64.sh   #Python 2.7版本

即可進(jìn)行安裝,當(dāng)然如果下載的是其他版本的Anaconda,替換掉安裝包名即可。

在安裝過程中,首先會(huì)給你看許可申明,這里可以一直按回車,不用擔(dān)心后面會(huì)漏掉什么命令。接著會(huì)問你是否同意許可,輸入yes同意。然后會(huì)詢問你安裝路徑,這里建議直接回車安裝到默認(rèn)路徑(會(huì)在用戶根目錄下生成一個(gè)anaconda2的文件夾,類似 ~/anaconda2)。最后會(huì)問你是否將Anaconda安裝路徑加入到環(huán)境變量(.bashrc)中,輸入yes,這樣以后在終端中輸入python即可直接進(jìn)入Anaconda的Python版本:

$ python --version
Python 2.7.15 :: Anaconda, Inc.

這里由于我原本就安裝有Python2.x和Python3.x,擔(dān)心這里會(huì)影響我的原有版本,就輸入的no,但這樣的話會(huì)導(dǎo)致你無法隨意通過conda命令來操作anaconda,最后我還是將其加入了環(huán)境變量,如果上一步輸入了no,可以通過下面的命令將其加入環(huán)境變量:

Do you wish the installer to prepend the Anaconda2 install location
to PATH in your /usr/local/app/.bashrc ? [yes|no]
[no] >>> no

You may wish to edit your .bashrc to prepend the Anaconda2 install location to PATH:

export PATH=/usr/local/app/anaconda2/bin:$PATH

Thank you for installing Anaconda2!

$ conda info
Hey! No command 'conda' found, did you mean 'cone'?

$ # 將anaconda的bin目錄加入PATH,根據(jù)版本不同,也可能是~/anaconda3/bin
$ echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc 
$ source ~/.bashrc  # 更新bashrc以立即生效

$ conda --version 
conda 4.5.4

至此,anaconda安裝完畢。

這里再提一嘴conda和anaconda的關(guān)系:

這里先解釋下conda、anaconda這些概念的差別。conda可以理解為一個(gè)工具,也是一個(gè)可執(zhí)行命令,其核心功能是包管理與環(huán)境管理。包管理與pip的使用類似,環(huán)境管理則允許用戶方便地安裝不同版本的python并可以快速切換。Anaconda則是一個(gè)打包的集合,里面預(yù)裝好了conda、某個(gè)版本的python、眾多packages、科學(xué)計(jì)算工具等等,所以也稱為Python的一種發(fā)行版。其實(shí)還有Miniconda,顧名思義,它只包含最基本的內(nèi)容——python與conda,以及相關(guān)的必須依賴項(xiàng),對(duì)于空間要求嚴(yán)格的用戶,Miniconda是一種選擇。

關(guān)于Anaconda的常用命令有:

$ # 創(chuàng)建一個(gè)名為tensotflow的環(huán)境,指定Python版本是2.7(不用管是2.7.x,conda會(huì)為我們自動(dòng)尋找2.7.x中的最新版本)
$ conda create --name tensotflow python=2.7  # 這里的--name可以簡(jiǎn)化為-n

$ source activate tensotflow  # 安裝好后,使用activate激活某個(gè)環(huán)境
$ # 激活后,會(huì)發(fā)現(xiàn)terminal輸入的地方多了tensotflow 的字樣

$ # 此時(shí),可以安裝和操作一些包

$ source deactivate tensotflow   # 如果想返回普通環(huán)境,運(yùn)行

$ conda remove --name tensotflow --all  # 刪除一個(gè)已有的環(huán)境


$ # conda的包管理類似pip

$ conda install scipy  # conda安裝scipy

$ conda list  # 查看已經(jīng)安裝的packages

$ conda list -n tensotflow   # 查看某個(gè)指定環(huán)境的已安裝包

$ conda search numpy  # 查找package信息

$ conda install -n tensotflow numpy  # 安裝某個(gè)指定環(huán)境的package
$ # 如果不用-n指定環(huán)境名稱,則被安裝在當(dāng)前活躍環(huán)境,也可以通過-c指定通過某個(gè)channel安裝

$ conda update -n tensotflow numpy  # 更新package

$ conda remove -n tensotflow numpy  # 刪除package

安裝TensorFlow

現(xiàn)在我們就先創(chuàng)建一個(gè)新的Anaconda環(huán)境來安裝和使用我們的TensorFlow。

首先創(chuàng)建python2.7下的名為tensorlfow的環(huán)境:

$ conda create --name tensotflow python=2.7

此時(shí)anaconda會(huì)檢查并提示你需要在虛擬環(huán)境安裝一些包,輸入y確認(rèn)即可。環(huán)境創(chuàng)建好就會(huì)提醒你:

# To activate this environment, use:
# > source activate tensorflow
#
# To deactivate an active environment, use:
# > source deactivate

第一個(gè)命令用于進(jìn)入(激活)名為tensorflow的環(huán)境,第二個(gè)命令用于退出該環(huán)境,注意這里我們只是命名該環(huán)境為tensorflow,真正的TensorFlow還沒安裝呢。

現(xiàn)在我們進(jìn)入該環(huán)境并安裝TensorFlow。

$ source activate tensorflow
(tensorflow) $ 
$ # 注意進(jìn)入環(huán)境后所有的命令錢都會(huì)自帶一個(gè)(tensorflow)表示你在該環(huán)境。

然后我們使用“anaconda search -t conda tensorflow”命令來查詢conda有哪些TensorFlow的安裝包(其實(shí)此時(shí)也可以通過TensorFlow官網(wǎng)的各種傳統(tǒng)方法安裝TensorFlow,但既然我們已經(jīng)創(chuàng)建了Anaconda,而anaconda本身就是個(gè)包管理器,那不如就利用它來方便安裝)。輸入命令后會(huì)出現(xiàn)一大堆安裝包版本,類似下面這樣:

(tensorflow) $ anaconda search -t conda tensorflow

Using Anaconda API: https://api.anaconda.org
Run 'anaconda show <USER/PACKAGE>' to get more details:
Packages:
     Name                      |  Version | Package Types   | Platforms       | Builds    
     ------------------------- |   ------ | --------------- | --------------- | ----------
     GlaxoSmithKline/tensorflow |   0.12.0 | conda           | linux-64        | py27hb0d0e74_0
     HCC/tensorflow            |    1.7.0 | conda           | linux-64        | py34_1, py27_1

會(huì)有一個(gè)大表格該給你展現(xiàn),根據(jù)你的需求來選擇一個(gè)即可,比如我選擇名為“jjh_ppc64le/tensorflow-gpu”的版本,那么使用命令來查看細(xì)節(jié):

(tensorflow) $ anaconda show jjh_ppc64le/tensorflow-gpu
Using Anaconda API: https://api.anaconda.org
Name:    tensorflow-gpu
Summary: TensorFlow is a machine learning library
Access:  public
Package Types:  conda
Versions:
   + 1.1.0
   + 1.2.1

To install this package with conda run:
     conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu

其實(shí)上面就已經(jīng)告訴你怎么安裝了,使用最后一行命令即可。

$ conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu

上面可以看到它其實(shí)給出了兩個(gè)版本,如果想安裝其中一個(gè)特定版本,可以指定:

$ conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu=1.1.0

anaconda同樣會(huì)為你檢查你缺少哪些包,并詢問你是否安裝,輸入y確認(rèn)即可。

至此TensorFlow就安裝完成了,如果想檢查是否安裝成功,可以進(jìn)入python來import試一試:

(tensorflow) $ python
Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf  # 此時(shí)不報(bào)錯(cuò)則表示安裝成功了
>>> tf.__version__    # 查看安裝的TensorFlow版本
'1.10.0'

遨游去吧。


查看作者首頁(yè)

參考文章:
Anaconda使用總結(jié)
Anaconda+Tensorflow環(huán)境安裝與配置
Conda工具使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容