Anaconda是什么?香嗎?
用Anaconda是不可能用Anaconda的,這輩子都不可能用Anaconda的。——魯迅
(本文由吃核桃不吐核桃殼編寫,未經許可不允許轉載)
Anaconda是什么???
有很多人在網上問:“裝了Anaconda還需要Python嗎?”每次聽到這個問題,我就傻了——
Anaconda不就是Python嗎?
Anaconda其實就是一個Python的發行版,她自帶了Ipython,Cython等Python解釋器,以及例如numpy,panda等有關數據分析的常用第三方庫,spyder,Jupyter等工具,當然還有最終於的庫管理神奇:conda。
一開始,我一直在使用官網的Cython解釋器,聽說Anaconda的時候,也只是看看而已,甚至還有一些抵觸情感。比普通的Python解釋器更大的大小,多出來的無用的功能,都讓我覺得仿佛失去了Python的靈魂。直到我真的嘗試了一下Anaconda……
真香。——魯迅
吹爆Anaconda!
Anaconda是最令人省心的Python解釋器。我以前一直不相信,直到我入門了機器學習領域。
機器學習需要用到的是大量的第三方庫,然而Anaconda已經幫你解決了這些繁瑣的安裝。
一步到位,捷足先登。
開源,沒啥好說的。
安裝的過程非常的簡單!連環境變量都不需要自己設置!
擁有免費的社區支持。每天有無數個程序員在參與Anaconda的更新與建設!
而且臃腫的功能也得到了解決,如果和我一樣不希望擁有一個很大的Python解釋器,可以下載Miniconda這個較小的發行版,僅僅包含了Python和conda。但不可否認,這樣極端的處理方式的確是Anaconda的一個缺點,如果能夠通過選擇自己所屬的領域和需要的庫來生成安裝包就完美了!
同時,Anaconda還有虛擬版本等等很強大的功能,我將會在下文為大家介紹。
安裝Anaconda
這里只提及Windows下的anaconda安裝,至於Mac和Linux可以參考這篇文章Anaconda介紹、安裝及使用教程
- 去官網下載。選擇適合自己的安裝包下載。(64位or32位,python3.7or2.7)
- 雙擊安裝包文件開始安裝~
- Info
- 如果在安裝過程中遇到任何問題,那么暫時地關閉殺毒軟件,並在安裝程序完成之后再打開。
- 如果在安裝時選擇了“為所有用戶安裝”,則卸載Anaconda然后重新安裝,只為“我這個用戶”安裝。
選擇“Next”。
-
閱讀許可證協議條款,然后勾選“I Agree”並進行下一步。
-
除非是以管理員身份為所有用戶安裝,否則僅勾選“Just Me”並點擊“Next”。
-
在“Choose Install Location”界面中選擇安裝Anaconda的目標路徑,然后點擊“Next”。
-
在“Advanced Installation Options”中不要勾選“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的環境變量。”)。因為如果勾選,則將會影響其他程序的使用。如果使用Anaconda,則通過打開Anaconda Navigator或者在開始菜單中的“Anaconda Prompt”(類似macOS中的“終端”)中進行使用。
除非你打算使用多個版本的Anaconda或者多個版本的Python,否則便勾選“Register Anaconda as my default Python 3.6”。
然后點擊“Install”開始安裝。如果想要查看安裝細節,則可以點擊“Show Details”。
-
點擊“Next”。
-
進入“Thanks for installing Anaconda!”界面則意味着安裝成功,點擊“Finish”完成安裝。
-
注意:如果你不想了解“Anaconda雲”和“Anaconda支持”,則可以不勾選“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。
-
驗證安裝結果。可選以下任意方法:
-
“開始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功啟動Anaconda Navigator則說明安裝成功。
-
“開始 → Anaconda3(64-bit)→ 右鍵點擊Anaconda Prompt → 以管理員身份運行”,在Anaconda Prompt中輸入
conda list
,可以查看已經安裝的包名和版本號。若結果可以正常顯示,則說明安裝成功。
-
-
自行添加環境變量(可選)
為了保證其他程序的正常運行,我們沒有勾選“Add Anaconda to my PATH environment variable.”但是在cmd里打Python卻打不開的感覺真的很不舒服。所以我們來自行添加一下環境變量。-
右鍵“此電腦”,屬性。
-
單擊左側的高級系統設置
-
點擊環境變量
-
找到path環境變量,並添加這四行(根據自己的安裝路徑添加,我這里是D:\Anaconda)
-
win+R輸入cmd回車打開命令行,輸入python,你會看到這個:
-
Yep!We got it!到這里,我們的安裝就正式結束了,享受它給你帶來的便利以及你的編程之旅吧!
(先去喝杯可樂,聽一首歌吧(我這里在聽Don‘t look back,啊這好像是廢話,不應該寫到blog里的))
conda的使用
我們來看一下conda。
conda和pip一樣,是庫管理工具。
但相比pip,conda有以下的優點:
→ 依賴項檢查
- pip:
- 不一定會展示所需其他依賴包。
- 安裝包時或許會直接忽略依賴項而安裝,僅在結果中提示錯誤。
- conda:
- 列出所需其他依賴包。
- 安裝包時自動安裝其依賴項。(哇塞這個真的舒服啊)
- 可以便捷地在包的不同版本中自由切換。
→ 環境管理
- pip:維護多個環境難度較大。
- conda:比較方便地在不同環境之間進行切換,環境管理較為簡單。
→ 對系統自帶Python的影響 - pip:在系統自帶Python中包的更新/回退版本/卸載將影響其他程序。
- conda:不會影響系統自帶Python。
→ 適用語言 - pip:僅適用於Python。
- conda:適用於Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
conda的常用姿勢
conda --version
這一條命令會輸出conda的版本,如果沒有報錯說明的你conda可以正常使用。
conda update conda
更新conda
conda update --all
更新所有的包
conda install <packet-name>
安裝某一個包,這里會自動安裝依賴項,不用擔心。(這里的
這里可能會出現請求失效或者404錯誤,需要還成國內的源,步驟如下:
- 添加清華的鏡像源,命令如下
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# 設置搜索時顯示通道地址
conda config --set show_channel_urls yes
哦對了,如果需要安裝pytorch,還要多加一個源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda list
列出已經安裝的包
更多的命令可以輸入conda help
查看
重頭戲,環境管理。
想象一下,你千辛萬苦的搞定了python3.7的環境,忽然接到同事的電話,告訴你有一個新的項目,用的python2.7。
是不是心態崩了呢???
難道需要再安裝一個2.7的python解釋器嗎?當然不用,環境管理正是anaconda的拿手好戲。
- 創建一個新的環境
conda create --name <env_name> <package_names>
這一條命令將會創建一個新的python環境。
-
注意:
-
<env_name>即創建的環境名。建議以英文命名,且不加空格,名稱兩邊不加尖括號“<>”。
-
<package_names>即安裝在環境中的包名。名稱兩邊不加尖括號“<>”。
-
如果要安裝指定的版本號,則只需要在包名后面以=和版本號的形式執行。如:conda create --name python2 python=2.7,即創建一個名為“python2”的環境,環境中安裝版本為2.7的python。
-
如果要在新創建的環境中創建多個包,則直接在<package_names>后以空格隔開,添加多個包名即可。如:conda create -n python3 python=3.5 numpy pandas,即創建一個名為“python3”的環境,環境中安裝版本為3.5的python,同時也安裝了numpy和pandas。
-
--name同樣可以替換為-n。
-
提示:默認情況下,新創建的環境將會被保存在anaconda目錄下的envs目錄下。
- 切換環境
activate <env_name>
這一步需要在anaconda prompt里運行。
- 列出已經創建的環境
conda info --envs
尾聲
這一篇博客到這里就要結束了。希望能幫助各位,在這里祝願大家能夠把編程堅持學下去,我也會在這一條路上幫助大家的。
參考資料: