Anaconda搭建人工智能與深度學習平臺

使用的硬件軟硬件環境:Windows10 + Anaconda + Pycharm

Anaconda

1)瞭解Python

Python可以理解成一個解釋軟件,可以將寫的Python代碼翻譯給電腦執行。
如果我們電腦中有裝有Python的話,打開安裝目錄可以看到如下結構:
                         在這裏插入圖片描述
其中python.exe就是我們的解釋器
Lib文件夾用來存python的包,包括自帶的包和第三方包。如果是第三方的包則存在Lib下的site-packages文件夾中
總的來說,python中包括一個解釋器和一個包集合
問題是,python自己已經可以滿足自己程序的所有過程,爲什麼還要用到anaconda呢?

2)Anaconda的安裝

在解釋爲什麼使用anaconda之前,我們先將anaconda裝好先。
Windows下的安裝步驟可以參考這篇博客,這裏不再贅述。
安裝完之後,最好改下鏡像源,就是下載庫的地址。這裏使用清華大學的鏡像源
我們打開cmd,輸入conda config --set show_channel_urls yes
然後文件管理器中進入C盤下的用戶目錄,找到.condarc文件,用記事本打開。
然後刪除原有的,粘貼如下內容就更改結束了:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

另外,因爲我是使用Windows平臺的,所以這裏有關Linux系統的操作都省略。

3)Anaconda的作用

問題①:我們都有了python,爲什麼還要anaconda呢?
    這就要涉及環境的問題了。我們知道,python的優勢就是可以引入很多的第三方的庫和包。
    可是當我們編寫不同的項目程序的時候,會有很多不同的庫要引入。
    打個比方,我寫爬蟲程序,要用到requests包;我寫神經網絡,可能要用到PyTorch庫。
    如果我電腦中沒有anaconda,所有的包和庫都要放在Lib文件夾中。
    在我跑爬蟲程序時,不僅要將加載完全用不上的PyTorch庫導致運行啓動變慢,還可能在調用request包的時候發生錯誤。
    爲了解決上述問題,Anaconda就出場了。
問題②:anaconda怎麼解決
    Anaconda可以理解成包含了Python的一個大包。
    這個包中除了Python,還包括一些其他常用的庫,例如numpy和pandas。
    打開anaconda安裝目錄可以發現,anaconda的項目結構和python的極爲類似。
                         在這裏插入圖片描述
    兩個都有一個python.exe和Lib文件夾,分別是base環境下的解釋器和包文件夾。
    anaconda解決上面問題的方法就是爲每一個項目創建新的環境。
    每個新環境中都獨自着有着自己的Lib文件夾,及有屬於自己的包和庫。
    這樣子調用起來每個項目都有獨立的環境,不會相互干擾。

4)創建Anaconda的虛擬環境

    在安裝完anaconda之後,開始菜單中會有如下圖的目錄結構,點開框中的:
                         在這裏插入圖片描述
    點開之後可以看到如下圖的界面,然後點擊左側environment的標誌:
                         在這裏插入圖片描述
    可以看到,environment中有一個base的環境,這個就是我們剛剛看到的anaconda安裝目錄下的python.exe和Lib組成的基礎環境。
    我們點擊下面create按鈕,然後輸入環境名稱abc並選擇python版本之後,就創建好了一個新的虛擬環境。
    我們之後在路徑…\Anaconda3\envs下可以看到創建的新環境文件夾
    進入文件夾後的內容如下:
                         在這裏插入圖片描述
    可以看到,這個新建的環境就是一個完整的python環境目錄。
    所以,anaconda所謂的創建虛擬環境其實就是安裝了一個真實的python環境, 只不過我們可以用不同版本的解釋器和不同的包環境去運行python腳本.
    此外,在anaconda navigator中,還可以在不同的環境下,下載不同的包庫,這裏留到後續再說。

Pycharm

1)Pycharm的安裝

    pycharm是一款python IDE,簡單來說就是一個打代碼的平臺。
    pycharm的安裝很簡單,在官網下載安裝包後一路next即可,這裏不做贅述。

2)Pycharm中使用anaconda環境

    這裏是一個重點。
    在安裝完pycharm後,我們點擊 Create New Project 新建一個項目。
    可以看到,除了要輸入項目名稱和保存的地址以外,下方還要選擇使用的環境。按照下圖操作。
在這裏插入圖片描述
    在彈出的界面設置如下操作
在這裏插入圖片描述
    然後在文件目錄中選中剛剛創建的環境的python.exe,然後點擊OK,就成功創建了一個項目。
                         在這裏插入圖片描述

第三方庫的下載

1)新環境的包

    到上面那步,我們通用的開放平臺就搭建好了。
    但是我們前面說到,python的優勢就是有龐大的第三方庫。
    如果我們在anaconda navigator中查看新環境abc包含的庫時,會發現相比base環境,abc少了很多庫。

在這裏插入圖片描述 在這裏插入圖片描述

    就連base庫中最基本的numpy庫和pandas庫都沒有。
    這裏說明我們需要自己下載要用到的庫。
    下面以安裝numpy庫爲例,介紹conda的環境中安裝第三方庫的方法。

2)安裝numpy庫

    在anaconda navigator中點開abc環境,按下面圖片的順序操作
             在這裏插入圖片描述
             在這裏插入圖片描述
    等待安裝完後,numpy庫就安裝成功了

問題解答

1)Pycharm創建新項目時爲什麼不選 New environment

    在pycharm創建新項目的時候可以看到,除了有exist environment外,還有new environment。
             在這裏插入圖片描述
    至於爲什麼不用,是因爲我們已經在anaconda navigator中創建好了新的環境。
    其實在創建新項目的時候,也可以選用new environment來順便創建新的環境。
    但由於還要自己設置路徑不太方便,所以我個人習慣先在anaconda navigator中創建好環境並安裝好需要的庫。

2)爲什麼用conda environment不用virtual environment

    conda environment和virtual environment的目的其實都是爲了劃分出獨立的運行環境。
    但是兩個創建環境的邏輯不太一樣。
    我個人理解virtual environment創建的虛擬環境是可以繼承base環境中的庫,即虛擬環境中對於base中已有的庫並不會再次下載到自己的環境中。
    而conda environment在創建時,只有最基本的幾個包且不繼承base中的任何庫。若想用到base中的庫,則要在虛擬環境中再次下載安裝多一個副本。例如上文中的numpy庫,base中自帶了numpy,但新環境abc中需要自己安裝。

3)爲什麼用conda進行安裝不用pip

    如果在網上搜索python搜索安裝庫的方法,大致有兩種:conda安裝和pip安裝
    首先說下pip是什麼:pip 是一個 Python 包管理工具,提供了對 Python 包的查找、下載、安裝、卸載的功能。
    conda是什麼:conda 是一個開源的軟件包管理系統和環境管理系統,用於安裝多個版本的軟件包及其依賴關係。
    簡單來說,pip就是個下載python包的工具,而conda則是個管python環境的工具。
    既然兩個都能下載包,爲什麼選擇conda呢?
    這個問題我想了很久,後來發現conda安裝後,可以在anaconda navigator的列表中當前環境中的包有哪些。而用pip安裝的包不能顯示在anaconda navigator的列表中。所以爲了方便,我個人選擇了conda來安裝需要的包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章