Python - 安装并配置Anaconda环境

1- 简介

Anaconda是一个用于科学计算的Python发行版,适用于数据分析的Python工具,也可以用在大数据和人工智能领域。
  • 支持 Linux, Mac, Windows系统;
  • 包含了Python和相关的配套工具,包括许多非常有用的第三方库;
  • 利用Conda来管理包和运行环境,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题;

Conda

用来管理包(packages)、依赖与环境(environment)的工具(可执行命令);

Anaconda

Python的一种发行版,是一个打包的集合(预装好了conda、某个版本的python、众多packages、科学计算工具等),占用空间较大;

Miniconda

  • 只包含最基本的内容(python与conda,以及相关的必须依赖项)的命令行工具,适合对于空间要求严格的用户;

Conda与Anaconda的联系与区别

Conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。

2- 安装

注意:如无特别说明,本文内容仅适用于windows系统;
 
官方下载: 
下载后根据提示进行安装,建议安装在指定目录,不要选择默认安装路径,以便节约系统盘空间和明确相关路径(例如,虚拟环境的默认路径等)。
将安装如下应用:
Python - 安装并配置Anaconda环境
  • Anaconda Navigtor :用于管理工具包和环境的图形用户界面,管理命令也可以在 Navigator 中手工实现。
  • Anaconda Prompt :Anaconda的命令行,通过conda命令可以控制和配置Python运行环境。
  • Jupyter notebook :基于web的交互式计算环境,可以编辑易于阅读的文档和展示数据分析的过程。
  • Spyder:使用Python语言、跨平台的、科学运算集成开发环境。
  • Reset Spyder Settings:恢复Spyder的默认设置。
安装Anaconda完成后,Path环境变量将指向Anaconda自带的Python,其内置的第三方模块安装在自己的路径下,不影响系统已安装的Python目录;

2.1 运行应用

Anaconda Navigtor:可能启动较慢
Python - 安装并配置Anaconda环境
 
Anaconda Prompt
 Python - 安装并配置Anaconda环境

Jupyter notebook

Python - 安装并配置Anaconda环境

Spyder

Python - 安装并配置Anaconda环境

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环境变量

避免找不到conda 命令的错误提示,需要添加conda环境变量;
例如:“D:\DownLoadFiles\anaconda3\Scripts\”
Python - 安装并配置Anaconda环境

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.
根据“conda -h”的提示信息,修改配置文件(如果没有,可以创建)
这里为“C:\Users\guowli\.condarc”
 
设置代理
$ 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 升级所有工具包

安装完成后,可以对所有工具包进行升级,在命令行执行“conda upgrade --all”,询问是否安装升级版本时,输入y。

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都是对当前环境进行安装、升级和卸载包的操作。

1. 设置允许pip访问conda包管理,执行命令“conda config --set use_pip True”;
$ conda config --set use_pip True

$ cat /c/Users/guowli/.condarc
use_pip: true
2. 激活其中的一个运行环境
3. 在激活的运行环境中,执行pip命令来管理包,可以通过“--proxy”参数设置代理地址;
 

4- 管理Python环境

如果安装了 Python3 版本的 Anaconda 后,默认的 root 环境是 Python3;

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可将当前环境下的 package 信息存入YAML 文件, 当执行他人的代码时,可使用此YAML文件创建同样的运行环境;
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环境信息

在Anaconda Prompt中通过“ conda env list”查看所有环境信息,确认环境所在目录;
Python - 安装并配置Anaconda环境
注意:通过Conda创建的虚拟环境默认放置envs目录中,例如:“D:\DownLoadFiles\anaconda3\envs\mlcc”
 

5.2 更改PyCharm的编译器选项 

打开Pycharm,然后依次点击File---》Settings---》Project:xxxxx---》Project Interperter---》“齿轮”按钮---》“Add Local...”

Python - 安装并配置Anaconda环境

在出现页面中,添加Conda环境信息并保存

Python - 安装并配置Anaconda环境

此时,依次点击File---》Settings---》Project:xxxxx---》Project Interperter---》“齿轮”按钮---》“Show All...”

Python - 安装并配置Anaconda环境

依次点击File---》Settings---》Project:xxxxx---》Project Interperter,选择相应的环境。

Python - 安装并配置Anaconda环境

6- 参考信息

7- 问题处理

7.1 问题1:告警信息“WARNING: The conda.compat module is deprecated and will be removed in a future release.”

问题现象:
安装Anaconda3后,在Anaconda Prompt执行conda命令, 例如“conda env list”,提示告警信息“WARNING: The conda.compat module is deprecated and will be removed in a future release.”

Python - 安装并配置Anaconda环境

问题原因:
问题处理方法:
升级conda版本。
(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. | py37_0 2.1 MB defaults
------------------------------------------------------------
Total: 2.1 MB The following packages will be UPDATED: conda 4.6.-py37_0 --> 4.6.-py37_0 Proceed ([y]/n)? y Downloading and Extracting Packages
conda-4.6. | 2.1 MB | ############################################################################ | %
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. (base) C:\Users\guowli>conda env list
# conda environments:
#
base * C:\Office-Tools\Anaconda3 (base) C:\Users\guowli>
上一篇:解决安装Visual Studio 2012后SQL Server 2008 远程过程调用失败的问题


下一篇:Spring支持的常用数据库事务传播属性和事务隔离级别