1. 程式人生 > >python之anaconda

python之anaconda

Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。 [1]  因為包含了大量的科學包,Anaconda 的下載檔案比較大(約 531 MB),如果只需要某些包,或者需要節省頻寬或儲存空間,也可以使用Miniconda這個較小的發行版(僅包含conda和 Python)

官網下載:https://www.anaconda.com/download/

按照安裝程式提示一步步安裝就好了, 安裝完成之後會多幾個應用

  • Anaconda Navigtor :用於管理工具包和環境的圖形使用者介面,後續涉及的眾多管理命令也可以在 Navigator 中手工實現。
  • Jupyter notebook :基於web的互動式計算環境,可以編輯易於人們閱讀的文件,用於展示資料分析的過程。
  • qtconsole :一個可執行 IPython 的仿終端圖形介面程式,相比 Python Shell 介面,qtconsole 可以直接顯示程式碼生成的圖形,實現多行程式碼輸入執行,以及內建許多有用的功能和函式。
  • spyder :一個使用Python語言、跨平臺的、科學運算整合開發環境。

暫時先不用管, 瞭解一下就行了

配置環境變數

如果是windows的話需要去 控制面板\系統和安全\系統\高階系統設定\環境變數\使用者變數\PATH

中新增 anaconda的安裝目錄的Scripts資料夾, 比如我的路徑是D:\Software\Anaconda\Scripts, 看個人安裝路徑不同需要自己調整.

之後就可以開啟命令列(最好用管理員模式開啟) 輸入 conda --version

如果輸出conda 4.4.11之類的就說明環境變數設定成功了.

為了避免可能發生的錯誤, 我們在命令列輸入conda upgrade --all 先把所有工具包進行升級

管理虛擬環境

接下來我們就可以用anaconda來建立我們一個個獨立的python環境了.接下來的例子都是在命令列操作的,請開啟你的命令列吧.

activate

activate 能將我們引入anaconda設定的虛擬環境中, 如果你後面什麼引數都不加那麼會進入anaconda自帶的base環境,

你可以輸入python試試, 這樣會進入base環境的python直譯器, 如果你把原來環境中的python環境去除掉會更能體會到, 這個時候在命令列中使用的已經不是你原來的python而是base環境下的python.而命令列前面也會多一個(base) 說明當前我們處於的是base環境下.

activate

建立自己的虛擬環境

我們當然不滿足一個base環境, 我們應該為自己的程式安裝單獨的虛擬環境.

建立一個名稱為learn的虛擬環境並指定python版本為3(這裡conda會自動找3中最新的版本下載)

conda create -n learn python=3

image.png

於是我們就有了一個learn的虛擬環境, 接下來我們切換到這個環境, 一樣還是用activae命令 後面加上要切換的環境名稱

切換環境

activate learn

如果忘記了名稱我們可以先用

conda env list

去檢視所有的環境

現在的learn環境除了python自帶的一些官方包之外是沒有其他包的, 一個比較乾淨的環境我們可以試試

先輸入python開啟python直譯器然後輸入

>>> import requests

會報錯找不到requests包, 很正常.接下來我們就要演示如何去安裝requests包

exit()

退出python直譯器

安裝第三方包

輸入

conda install requests

或者

pip install requests

來安裝requests包.

安裝完成之後我們再輸入python進入直譯器並import requests包, 這次一定就是成功的了.

解除安裝第三方包

那麼怎麼解除安裝一個包呢

conda remove requests

或者

pip uninstall requests

就行啦.

檢視環境包資訊

要檢視當前環境中所有安裝了的包可以用

conda list 

匯入匯出環境

如果想要匯出當前環境的包資訊可以用

conda env export > environment.yaml

將包資訊存入yaml檔案中.

當需要重新建立一個相同的虛擬環境時可以用

conda env create -f environment.yaml

其實命令很簡單對不對, 我把一些常用的在下面給出來, 相信自己多打兩次就能記住

activate // 切換到base環境

activate learn // 切換到learn環境

conda create -n learn python=3 // 建立一個名為learn的環境並指定python版本為3(的最新版本)

conda env list // 列出conda管理的所有環境

conda list // 列出當前環境的所有包

conda install requests 安裝requests包

conda remove requests 解除安裝requets包

conda remove -n learn --all // 刪除learn環境及下屬所有包

conda update requests 更新requests包

conda env export > environment.yaml // 匯出當前環境的包資訊

conda env create -f environment.yaml // 用配置檔案建立新的虛擬環境

深入一下

或許你會覺得奇怪為啥anaconda能做這些事, 他的原理到底是什麼, 我們來看看anaconda的安裝目錄

image.png

這裡只截取了一部分, 但是我們和本文章最開頭的python環境目錄比較一下, 可以發現其實十分的相似, 其實這裡就是base環境. 裡面有著一個基本的python直譯器, lLib裡面也有base環境下的各種包檔案.

那我們自己建立的環境去哪了呢, 我們可以看見一個envs, 這裡就是我們自己建立的各種虛擬環境的入口, 點進去看看

image.png

可以發現我們之前建立的learn目錄就在下面, 再點進去

image.png

這不就是一個標準的python環境目錄嗎?


這麼一看, anaconda所謂的建立虛擬環境其實就是安裝了一個真實的python環境, 只不過我們可以通過activate,conda等命令去隨意的切換我們當前的python環境, 用不同版本的直譯器和不同的包環境去執行python指令碼.

與pycharm連線

在工作環境中我們會整合開發環境去編碼, 這裡推薦JB公司的pycharm, 而pycharm也能很方便的和anaconda的虛擬環境結合

Setting => Project => Project Interpreter 裡面修改 Project Interpreter , 點選齒輪標誌再點選Add Local為你某個環境的python.exe直譯器就行了

image.png

比如你要在learn環境中編寫程式, 那麼就修改為D:\Software\Anaconda\envs\learn, 可以看到這時候下面的依賴包也變成了learn環境中的包了.接下來我們就可以在pycharm中愉快的編碼了.

image.png

結語



作者:AC手環
連結:https://www.jianshu.com/p/eaee1fadc1e9
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。