關於 Anaconda
關於 Anaconda 的安裝和介紹,可以參考我的上一篇關於 Jupiter Notebook 的筆記,這裡不再贅述,官網地址
引用維基百科
Anaconda 是一種Python語言的免費增值開源發行版,用於進行大規模資料處理、預測分析,和科學計算,致力於簡化包的管理和部署。Anaconda使用軟體包管理系統Conda進行包管理。
簡單來說,Anaconda 就是專門用於管理 Python 包環境以及部署的工具,同時自帶了很多關於資料處理的工具包,例如:Pandas,NumPy 等等,並且還提供了一個網頁版本的 Jupiter Notebook 編輯器來方便的編寫Python 資料處理程式碼,類似於 pip3 這種 Python 自帶的包下載和管理模組(Anaconda 中是 conda 模組),但是要強大很多。可以簡單的理解為一個裝滿了各種 Python 第三方工具包的倉庫,和我們本地的 Maven 有點類似
① 安裝 Anaconda
當我們裝好 Anaconda 之後,輸入以下命令表示 Anaconda 安裝成功
O_O[cris@cris:~]$ conda -V
conda 4.5.11
^_^[cris@cris:~]$
複製程式碼
這個版本的 Anaconda 自帶的Python 直譯器是 3.7 版本,預設 Base 虛擬環境,並且自帶了一系列包可以使用
^_^[cris@cris:~]$ conda list
複製程式碼
檢視當前的 Base 環境有哪些包
② 什麼是 Base 虛擬環境?
就是當前 Anaconda 預設自帶的一個倉庫(可以這麼理解),在這個倉庫中有 Anaconda 自帶的很多Python 第三方包,包括Python 直譯器(3.7 版本)
實際開發中,每個 Python 專案依賴的包都不同,Python 直譯器版本也可能不同;每個Python 專案可能是你一人開發,也可能是多人開發;為了保證每個 Python 專案的環境(Python 直譯器和專案依賴包)獨立,互不干預,以及同一個Python 專案的所有人開發環境一致,Anaconda 可以為每一個專案單獨配置Python 的開發和執行環境,也就是 Anaconda 中的虛擬環境(可以類比為倉庫)
③ 建立 Anaconda 虛擬環境
使用 conda create -n your_env_name python=X.X(2.7、3.6等),anaconda 命令建立python版本為X.X、名字為your_env_name的虛擬環境。your_env_name檔案可以在Anaconda安裝目錄envs檔案下找到。 指定python版本為2.7,注意至少需要指定python版本或者要安裝的包, 在不指定python版本時,自動安裝最新python版本。
^_^[cris@cris:~]$ conda create -n test python=3.6
複製程式碼
然後檢視當前 Anaconda 的所有虛擬環境
可以發現 test 虛擬環境建立好了,當前預設是 Anaconda 的Base 環境,怎麼切換到 test 環境呢?
④ 切換環境
(base) O_O[cris@cris:~]$ conda activate test
(test) ^_^[cris@cris:~]$
複製程式碼
切換後,我們進入 Python 的Terminal
可以發現Python 版本已經變為了 3.6
退出終端,我們再使用 conda list 命令檢視當前 Test 環境下的包
可以發現和 base 環境比,少了很多很多包
⑤ 退出和刪除環境
退出當前環境回到預設的 Base 環境非常簡單
刪除環境也很簡單
conda remove -n env_name –all 即可,這裡 Cris 就不測試了
⑥ 環境安裝包管理
- 安裝指定環境的包(預設當前環境,一般當前環境都是設定為 base)
conda install -n <env_name> <package_name>
# -n 或者 --name 引數就是用來指定環境的
複製程式碼
- 當前環境安裝包
conda install <package_name>
複製程式碼
- 刪除指定環境的包
conda remove -n <env_name> <package_name>
複製程式碼
- 刪除當前環境的包
conda remove <package_name>
複製程式碼
- 更新當前環境的包
conda update <package_name>
複製程式碼
- 更新當前環境所有包
(base) O_O[cris@cris:~]$ conda update --all
複製程式碼
-
更新當前環境多個指定包,則包名以空格隔開,向後排列。如:
conda update pandas numpy matplotlib
即更新pandas、numpy、matplotlib包。 -
更新conda,保持conda最新
conda update conda 複製程式碼
-
更新anaconda
conda update anaconda 複製程式碼
-
查詢包
$ conda search package_name # 還可以使用引數進行精確查詢 $ conda search --full-name tensflow 複製程式碼
⑦ 環境複製和匯出
conda create --name new_env_name --clone copied_env_name
複製程式碼
複製的新環境和原環境配置一致
匯出當前環境的配置資訊
(test) ^_^[cris@cris:~]$ conda env export > environment.yaml
複製程式碼
發現當前目錄下多了一個配置檔案
檢視這個檔案,就是我們當前 test 環境的所有配置資訊
name: test
channels:
- defaults
dependencies:
- ca-certificates=2018.03.07=0
- certifi=2018.11.29=py36_0
- libedit=3.1.20170329=h6b74fdf_2
- libffi=3.2.1=hd88cf55_4
- libgcc-ng=8.2.0=hdf63c60_1
- libstdcxx-ng=8.2.0=hdf63c60_1
- ncurses=6.1=he6710b0_1
- openssl=1.1.1a=h7b6447c_0
- pip=18.1=py36_0
- python=3.6.8=h0371630_0
- readline=7.0=h7b6447c_5
- setuptools=40.6.3=py36_0
- sqlite=3.26.0=h7b6447c_0
- tk=8.6.8=hbc83047_0
- wheel=0.32.3=py36_0
- xz=5.2.4=h14c3975_4
- zlib=1.2.11=h7b6447c_3
prefix: /home/cris/module/anaconda3/envs/test
複製程式碼
這樣子就可以在別人電腦上快速搭建統一的環境
# // 用配置檔案建立新的虛擬環境
$ conda env create -f environment.yaml
複製程式碼
⑧ Anaconda 和 Visual Studio Code 的對接
開啟 Visual Studio Code,可以隨意調整 Python 的執行環境
⑨ Anaconda 和 PyCharm 對接
稍微麻煩一點,先要新建一個工程
然後選擇 Anaconda 環境
專案建立好後,開啟project 選項
注意:PyCharm 引用 Anaconda 環境時,專案建立完畢,右下角訊息欄可能會報出 Inotify Watches Limit 提示,官方的解決方案連結,照著做即可
ps:關於 PyCharm 的免費啟用,參考
⑩ 讓 Anaconda 飛起來
Anaconda 預設採用的國外映象網站,這裡強力推薦將映象源換成國內清華大學的映象
修改文章在此,強力推薦,讓你的 Anaconda 跑的比博爾特還快~
注意的是,修改路徑均在根目錄,並且最新版本的 Anaconda 使用 conda info 檢視當前配置資訊如下
^_^[cris@cris:~]$ conda info
active environment : base
active env location : /home/cris/module/anaconda3
shell level : 1
user config file : /home/cris/.condarc
populated config files : /home/cris/.condarc
conda version : 4.5.11
conda-build version : 3.15.1
python version : 3.7.0.final.0
base environment : /home/cris/module/anaconda3 (writable)
channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
package cache : /home/cris/module/anaconda3/pkgs
/home/cris/.conda/pkgs
envs directories : /home/cris/module/anaconda3/envs
/home/cris/.conda/envs
platform : linux-64
user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Linux/4.15.0-29deepin-generic deepin/15.8 glibc/2.27
UID:GID : 1000:1000
netrc file : None
offline mode : False
複製程式碼