1- 簡介
- 支持 Linux, Mac, Windows系統;
- 包含了Python和相關的配套工具,包括許多非常有用的第三方庫;
- 利用Conda來管理包和運行環境,可以很方便地解決多版本python並存、切換以及各種第三方包安裝問題;
Conda
用來管理包(packages)、依賴與環境(environment)的工具(可執行命令);
- 包管理:與pip類似,conda將所有工具、第三方包都當做package來管理(包括python和conda自身),而且能夠安裝非python的包;
- 環境管理:可以方便地安裝各種版本python、各種package、創建虛擬環境並快速切換;
- 文檔:https://conda.io/docs/index.html
- User guide:https://conda.io/docs/user-guide/index.html
- Getting started:https://conda.io/docs/user-guide/getting-started.html
- Conda cheat sheet:https://conda.io/docs/_downloads/conda-cheatsheet.pdf
Anaconda
Python的一種發行版,是一個打包的集合(預裝好了conda、某個版本的python、眾多packages、科學計算工具等),占用空間較大;
- 文檔:http://docs.anaconda.com/anaconda/
- User guide:https://docs.anaconda.com/anaconda/user-guide/
- Getting started:http://docs.anaconda.com/anaconda/user-guide/getting-started/
- Anaconda cheat sheet:http://docs.anaconda.com/anaconda/user-guide/cheatsheet/
Miniconda
- 只包含最基本的內容(python與conda,以及相關的必須依賴項)的命令行工具,適合對於空間要求嚴格的用戶;
Conda與Anaconda的聯系與區別
Conda可以理解為一個工具,也是一個可執行命令,其核心功能是包管理與環境管理。包管理與pip的使用類似,環境管理則允許用戶方便地安裝不同版本的python並可以快速切換。
Anaconda則是一個打包的集合,里面預裝好了conda、某個版本的python、眾多packages、科學計算工具等等,所以也稱為Python的一種發行版。
2- 安裝
- Anaconda Navigtor :用於管理工具包和環境的圖形用戶界面,管理命令也可以在 Navigator 中手工實現。
- Anaconda Prompt :Anaconda的命令行,通過conda命令可以控制和配置Python運行環境。
- Jupyter notebook :基於web的交互式計算環境,可以編輯易於閱讀的文檔和展示數據分析的過程。
- Spyder:使用Python語言、跨平台的、科學運算集成開發環境。
- Reset Spyder Settings:恢復Spyder的默認設置。
2.1 運行應用
Jupyter notebook

Spyder

JupyterLab
將在默認瀏覽器(建議將默認瀏覽器設置為Chrome)打開一個默認頁面“http://localhost:8888/lab”,可以在此頁面輸入並執行Python代碼。
- JupyterLab is the next-generation web-based user interface for Project Jupyter.
- 文檔:https://jupyterlab.readthedocs.io/
- JupyterLab被認為是 Jupyter Notebooks 的進一步發展,JupyterLab 的開發者的長期目標是最終替代 Jupyter Notebooks。
- 支持更加靈活和更加強大的項目操作方式,和Jupyter Notebooks一致的組件和環境,但具有生產力更高的體驗。
- 可以在一個窗口中放置筆記本、終端、文本文件和輸出結果工作區,只需拖放你需要的單元即可。
- 可以編輯 Markdown、CSV 和 JSON 等常用文件格式,並實時預覽修改所造成的影響。
- 可以使用相關的擴展來添加新功能,或者完全改變界面的運行方式。
Qt Console
一個可執行IPython的仿終端圖形界面程序,可直接顯示代碼生成的圖形,實現多行代碼輸入執行,以及內置許多有用的功能和函數。
Glueviz
Python庫,用於探索相關數據集內部和之間的關系,創建統計圖形等。
Orange3
交互式數據可視化的工具,通過巧妙的數據可視化執行簡單的數據分析。
VS Code
Visual Studio Code是一個輕量級但功能強大的源代碼編輯器,內置了對JavaScript,TypeScript和Node.js的支持,並為其他語言和運行時提供了豐富的擴展生態系統。
2.2 添加conda環境變量
2.3 幫助信息
- 命令行下執行"conda -h"或“conda --help”可以獲得幫助信息;
- 命令行下執行"conda <argument> -h"或“conda <argument> --help”可以獲得具體參數的幫助信息;
2.4 添加Conda代理和國內鏡像
$ conda -h
usage: conda [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
Options:
positional arguments:
command
clean Remove unused packages and caches.
config Modify configuration values in .condarc. This is modeled
after the git config command. Writes to the user .condarc
file (C:\Users\guowli\.condarc) by default.
$ cat /C/Users/guowli/.condarc
proxy_servers:
http: http://10.144.1.10:8080
https: http://10.144.1.10:8080
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 --set show_channel_urls yes
conda源操作的基本命令
conda config --show 查看當前所有配置 conda config --show-sources 查看當前使用源 conda config --remove channels 刪除指定源 conda config --add channels 加指定源
或者直接修改修改配置文件
$ cat /C/Users/guowli/.condarc channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ - defaults show_channel_urls: True allow_other_channels: True
2.5 設置Conda環境和緩存的路徑
默認情況下,Conda創建的新環境以及過往安裝的模塊緩存都存儲在用戶目錄。
默認信息不會在Conda(user-specific)配置文件“$HOME/.condarc”中體現,但可通過"conda info"查看,包括默認環境路徑、默認緩存路徑、Conda源設置等。
添加或修改“$HOME/.condarc”中的“env_dirs”和“pkgs_dirs”配置項,可以設置conda環境和緩存(envs directories 和 package cache)的默認路徑。
按順序第一個路徑作為默認存儲路徑,搜索環境和緩存時按先后順序在各目錄中查找。
例如:在“$HOME/.condarc”中添加如下路徑
envs_dirs: - D:\DownLoadFiles\anaconda3\envs # 按順序第一個路徑作為默認存儲路徑,搜索環境和緩存時按先后順序在各目錄中查找 - C:\Users\guowli\AppData\Local\conda\conda\envs - C:\Users\guowli\.conda\envs pkgs_dirs: - D:\DownLoadFiles\anaconda3\pkgs - C:\Users\guowli\AppData\Local\conda\conda\pkgs
也可以使用conda命令指定存放路徑:
conda config --add envs_dirs <環境位置絕對路徑> # 添加環境位置 conda config --add pkgs_dirs <包位置絕對路徑> # 添加包位置
3- 管理Python包
3.1 升級所有工具包
3.2 常用命令
conda install <package_name> 安裝包 conda install numpy scipy pandas 同時安裝多個包 conda install numpy=1.10 安裝包的指定版本 conda install anaconda 在當前環境安裝anaconda集合包 conda remove <package_name> 移除包 conda update <package_name> 升級包 conda list 查看當前環境已安裝的包信息 conda search <package_name> 查詢包信息 conda search <search_term> 模糊查詢包信息 conda install --name <env_name> <package_name> 在指定環境安裝的包信息 conda remove --name <env_name> <package_name> 移除指定環境的包 conda update --name <env_name> <package_name> 升級指定環境的包 conda list --name <env_name> 查看指定環境的已安裝的包信息 conda update conda 更新conda conda update anaconda 更新anaconda conda update python 更新Python
3.3 通過pip來管理包
注意:conda和pip都是對當前環境進行安裝、升級和卸載包的操作。
$ conda config --set use_pip True $ cat /c/Users/guowli/.condarc use_pip: true
4- 管理Python環境
4.1 常用命令
conda create --name <env_name> <list of packages> 創建新環境 conda create --name testpy2 python=2.7 pandas 創建名為testpy2的運行環境,並安裝pandas包及其依賴包 conda create --name testpy36 python=3.6 anaconda 創建名為testpy36的運行環境,並安裝anaconda集合包(conda默認環境) conda env remove --name <env_name> 刪除環境 conda env list 顯示所有的環境 conda info 顯示當前安裝的conda信息 conda info --envs 顯示所有運行環境 source activate <env_name> 激活(進入)環境 source deactivate 去激活(退出)當前環境
4.2 分享運行環境
conda env export > BackupEnv.yaml 將當前運行環境的package信息導出到名為BackupEnv的YAML文件 conda env create --force BackupEnv.yaml 使用YAML文件創建運行環境
4.3 完整示例
$ py --version # 當前默認python版本
Python 3.7.1
$ conda create --name testpy2 python=2.7 pandas # 創建名為testpy2的運行環境,並安裝pandas包及其依賴包
Solving environment: done
## Package Plan ##
environment location: D:\DownLoadFiles\anaconda3\envs\testpy2 # 創建的運行環境的所在目錄
added / updated specs: # conda僅安裝pandas和python2.7相關的必須項(pandas的依賴項,python2.7, pip等)
- pandas
- python=2.7
The following packages will be downloaded: # 將要下載當前沒有的安裝包
package | build
---------------------------|-----------------
vc-9 | h7299396_1 3 KB
python-dateutil-2.7.5 | py27_0 275 KB
pandas-0.23.4 | py27h39f3610_0 8.8 MB
pytz-2018.7 | py27_0 250 KB
certifi-2018.10.15 | py27_0 139 KB
setuptools-40.5.0 | py27_0 653 KB
numpy-base-1.15.4 | py27h2753ae9_0 3.8 MB
pip-18.1 | py27_0 1.8 MB
vs2008_runtime-9.00.30729.1| hfaea7d5_1 1017 KB
wincertstore-0.2 | py27hf04cefb_0 13 KB
python-2.7.15 | h2880e7c_3 20.3 MB
six-1.11.0 | py27_1 21 KB
numpy-1.15.4 | py27hbe4291b_0 36 KB
mkl_fft-1.0.6 | py27hac4a418_0 120 KB
wheel-0.32.2 | py27_0 52 KB
------------------------------------------------------------
Total: 37.1 MB
The following NEW packages will be INSTALLED: # 將要安裝的包
blas: 1.0-mkl
certifi: 2018.10.15-py27_0
icc_rt: 2017.0.4-h97af966_0
intel-openmp: 2019.0-118
mkl: 2019.0-118
mkl_fft: 1.0.6-py27hac4a418_0
numpy: 1.15.4-py27hbe4291b_0
numpy-base: 1.15.4-py27h2753ae9_0
pandas: 0.23.4-py27h39f3610_0
pip: 18.1-py27_0
python: 2.7.15-h2880e7c_3
python-dateutil: 2.7.5-py27_0
pytz: 2018.7-py27_0
setuptools: 40.5.0-py27_0
six: 1.11.0-py27_1
vc: 9-h7299396_1
vs2008_runtime: 9.00.30729.1-hfaea7d5_1
wheel: 0.32.2-py27_0
wincertstore: 0.2-py27hf04cefb_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
vc-9 | 3 KB | ######################################################################## | 100%
python-dateutil-2.7. | 275 KB | ######################################################################## | 100%
pandas-0.23.4 | 8.8 MB | ######################################################################## | 100%
pytz-2018.7 | 250 KB | ######################################################################## | 100%
certifi-2018.10.15 | 139 KB | ######################################################################## | 100%
setuptools-40.5.0 | 653 KB | ######################################################################## | 100%
numpy-base-1.15.4 | 3.8 MB | ######################################################################## | 100%
pip-18.1 | 1.8 MB | ######################################################################## | 100%
vs2008_runtime-9.00. | 1017 KB | ######################################################################## | 100%
wincertstore-0.2 | 13 KB | ######################################################################## | 100%
python-2.7.15 | 20.3 MB | ######################################################################## | 100%
six-1.11.0 | 21 KB | ######################################################################## | 100%
numpy-1.15.4 | 36 KB | ######################################################################## | 100%
mkl_fft-1.0.6 | 120 KB | ######################################################################## | 100%
wheel-0.32.2 | 52 KB | ######################################################################## | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use:
# > activate testpy2
#
# To deactivate an active environment, use:
# > deactivate
#
# * for power-users using bash, you must source
#
$ conda env list # 顯示所有運行環境
# conda environments:
#
base * D:\DownLoadFiles\anaconda3 # 星號表示是當前運行環境
testpy2 D:\DownLoadFiles\anaconda3\envs\testpy2
$ source activate testpy2 # 進入testpy2運行環境
(testpy2)
$ conda env list
# conda environments:
#
base D:\DownLoadFiles\anaconda3
testpy2 * D:\DownLoadFiles\anaconda3\envs\testpy2 # 星號表示是當前運行環境
(testpy2)
$ py --version
Python 3.7.1
(testpy2) # 括號中顯示當前的運行環境
$ conda info # 顯示conda信息
active environment : testpy2
active env location : D:\DownLoadFiles\anaconda3\envs\testpy2
shell level : 1
user config file : C:\Users\guowli\.condarc
populated config files : C:\Users\guowli\.condarc
conda version : 4.5.11
conda-build version : 3.16.2
python version : 3.7.1.final.0
base environment : D:\DownLoadFiles\anaconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/win-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/pro/win-64
https://repo.anaconda.com/pkgs/pro/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : D:\DownLoadFiles\anaconda3\pkgs
C:\Users\guowli\AppData\Local\conda\conda\pkgs
envs directories : D:\DownLoadFiles\anaconda3\envs
C:\Users\guowli\AppData\Local\conda\conda\envs
C:\Users\guowli\.conda\envs
platform : win-64
user-agent : conda/4.5.11 requests/2.20.0 CPython/3.7.1 Windows/7 Windows/6.1.7601
administrator : False
netrc file : None
offline mode : False
(testpy2)
$ source deactivate # 退出當前運行環境
$ conda env list
# conda environments:
#
base * D:\DownLoadFiles\anaconda3 # 星號表示是當前運行環境
testpy2 D:\DownLoadFiles\anaconda3\envs\testpy2
$ conda env remove --name testpy2 # 刪除運行環境
Remove all packages in environment D:\DownLoadFiles\anaconda3\envs\testpy2:
## Package Plan ##
environment location: D:\DownLoadFiles\anaconda3\envs\testpy2
The following packages will be REMOVED:
blas: 1.0-mkl
certifi: 2018.10.15-py27_0
icc_rt: 2017.0.4-h97af966_0
intel-openmp: 2019.0-118
mkl: 2019.0-118
mkl_fft: 1.0.6-py27hac4a418_0
numpy: 1.15.4-py27hbe4291b_0
numpy-base: 1.15.4-py27h2753ae9_0
pandas: 0.23.4-py27h39f3610_0
pip: 18.1-py27_0
python: 2.7.15-h2880e7c_3
python-dateutil: 2.7.5-py27_0
pytz: 2018.7-py27_0
setuptools: 40.5.0-py27_0
six: 1.11.0-py27_1
vc: 9-h7299396_1
vs2008_runtime: 9.00.30729.1-hfaea7d5_1
wheel: 0.32.2-py27_0
wincertstore: 0.2-py27hf04cefb_0
Proceed ([y]/n)? y
$ conda env list
# conda environments:
#
base * D:\DownLoadFiles\anaconda3
$
5- 在PyCharm中使用Anaconda創建的環境
5.1 查看Conda環境信息
5.2 更改PyCharm的編譯器選項

在出現頁面中,添加Conda環境信息並保存

此時,依次點擊File---》Settings---》Project:xxxxx---》Project Interperter---》“齒輪”按鈕---》“Show All...”

依次點擊File---》Settings---》Project:xxxxx---》Project Interperter,選擇相應的環境。

6- 參考信息
- Anaconda入門使用指南:https://www.jianshu.com/p/169403f7e40c
- Anaconda使用總結:https://www.jianshu.com/p/2f3be7781451
7- 問題處理
7.1 問題1:告警信息“WARNING: The conda.compat module is deprecated and will be removed in a future release.”

(base) C:\Users\guowli>conda update conda WARNING: The conda.compat module is deprecated and will be removed in a future release. Collecting package metadata: done Solving environment: done ## Package Plan ## environment location: C:\Office-Tools\Anaconda3 added / updated specs: - conda The following packages will be downloaded: package | build ---------------------------|----------------- conda-4.6.14 | py37_0 2.1 MB defaults ------------------------------------------------------------ Total: 2.1 MB The following packages will be UPDATED: conda 4.6.11-py37_0 --> 4.6.14-py37_0 Proceed ([y]/n)? y Downloading and Extracting Packages conda-4.6.14 | 2.1 MB | ############################################################################ | 100% Preparing transaction: done Verifying transaction: done Executing transaction: done (base) C:\Users\guowli>ET _sysp=%~dpA 'ET' is not recognized as an internal or external command, operable program or batch file. (base) C:\Users\guowli>IF NOT EXIST "!_sysp!\Scripts\conda.exe" Collecting package metadata: done Solving environment: done # All requested packages already installed. (base) C:\Users\guowli>conda --version conda 4.6.14 (base) C:\Users\guowli>conda env list # conda environments: # base * C:\Office-Tools\Anaconda3 (base) C:\Users\guowli>
