Anaconda 开发环境配置

1. 简介

Anaconda 是一个基于 Python 的数据分析和科学计算平台,支持 Linux、MacOS 和 Windows,集成了包括 Numpy、Pandas、Matplotlib 在内的众多优秀类库。从某种程度上讲,Anaconda 是 venv 和 pip 的替代品,解决了虚拟开发环境包管理两大难题,并且在实现方式上更加优秀。

Anaconda 提供的命令包括 python、ipython、conda、jupyter netebook 等。

  • python,基础的交互式开发环境。Anaconda 已经包含 Python 基础环境,不需要独立安装 Python。同时,借助虚拟环境技术,Anaconda 很好地解决了多版本共存问题
  • ipython,增强的交互式开发环境,提供变量自动补全、自动缩进和魔法命令等增强功能。在日常使用中,很少直接使用 python 或者 ipython,它们更多的是作为实现更高级功能的基本组件;
  • conda,Anaconda 配置命令,主要用于创建和管理虚拟环境、安装和卸载第三方类库;
  • jupyter netebook,基于网页的多语言交互式开发平台,目前支持超过40种编程语言,可以用于编写代码、标记文本、数据可视化等多种用途。Jupyter 中的 Python 内核使用的是 IPython。

此外,Anaconda 在 Windows 平台上还提供 Navigator、Prompt 和 Spyder 等图形开发工具。

  • Navigator,conda 的图形化实现,主要用于创建和管理虚拟环境、安装和卸载第三方类库;
  • Prompt,命令行终端,相当于执行 activate <env_name> 后的命令提示符;
  • Spyder,面向科学计算的集成开发环境。

2. 安装部署

2.1 Windows 平台

2.1.1 安装 OpenSSL 软件包

如果未安装 OpenSSL
,在更新 Anaconda 时会报 “Can’t connect to HTTPS URL because the SSL module is not” 错误。

2.1.2 设置环境变量

一般情况下,不建议将 Anaconda 设置为系统环境变量。根据虚拟环境的设计思想,只有在需要时激活特定环境,而不是固定绑定默认环境。

Linux 平台上,任何情况下都不要直接将 Anaconda 相关路径加入环境变量,否则会与系统自带的 Python 环境冲突。系统自带的 Python 环境用于支撑 yum、apt-get 等基础组件,使用版本相对老旧,替换为新版本经常存在兼容性问题。因此,推荐使用 source activate <env_name> 激活虚拟环境。

Windows 平台上,设置环境变量仅仅出于执行 conda、jupyter notebook 等管理命令的需要,而不是直接用于开发。在未使用 activate <env_name> 激活虚拟环境的情况下,纵然能够执行 python 等命令,开发环境也是不完整的(缺少类库路径),会提示 “This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load.” 警告。因此,仍然推荐使用 activate <env_name> 激活虚拟环境。

事实上,我们可以在 Prompt 终端下进行全部操作,而不必使用 Windows 自带的命令提示符。

set PATH=%PATH%;C:\Softwares\Anaconda;C:\Softwares\Anaconda\Scripts

2.1.3 配置国内镜像

修改用户目录(C:\Users\moonspirit)下的 .condarc 文件,配置国内镜像,推荐 清华源

Windows 用户可能无法直接创建名为 .condarc 的文件,可以执行 conda config --set show_channel_urls yes 生成该文件,再进行修改。

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

3. 操作指南

3.1 虚拟环境管理

conda update -n base conda          # conda 自更新

conda create -n python2 python=2.7  # 创建虚拟环境

conda remove -n <env_name> --all    # 删除虚拟环境

conda env list                      # 列出已有环境

conda activate <env_name>           # 切换到指定环境(Windows)

conda deactivate                    # 退出当前环境(Windows)

source activate <env_name>          # 切换到指定环境(Linux)

source deactivate                   # 退出当前环境(Linux)

3.2 包管理

pip install snownlp           # 使用 pip 安装第三方库(过时)

conda install beautifulsoup4  # 使用 conda 安装第三方库(推荐)

conda update --all            # 更新所有的第三方库

conda/pip list                # 列出已安装的第三方库

conda install numpy pandas matplotlib scipy scikit-learn scikit-image statsmodels beautifulsoup4 lxml xlrd sphinx

conda install -c conda-forge jupyter_contrib_nbextensions

3.3 Jupyter 内核管理

Jupyter Notebook 与内核交互,内核是编程语言的交互式计算协议的实现。安装对应编程语言的 ipykernel,即可实现集成开发。

jupyter kernelspec list       # 查看所有内核

jupyter kernelspec install    # 安装内核

jupyter kernelspec remove     # 删除内核

3.4 修改 Jupyter Notebook 启动路径

Jupyter Notebook 启动路径就是运行该命令的命令提示符所在位置,一般是 C:\Users\用户名。当更改盘符或者目录路径时,Jupyter Notebook 启动路径随之改变。

运行 jupyter notebook --generate-config,在 C:\Users\用户名\.jupyter 下生成 jupyter_notebook_config.py,修改以下内容:

c.NotebookApp.file_to_run = r'C:\Users\017494564\Documents\工作\Workspace\Jupyter'

3.5 环境离线迁移

复制 $HOME/anancoda/envs/myenv 到目标位置,执行 conda activate <env_name> 加载环境。

4. 集成开发

4.1 Python 内核

conda activate python2

conda install backports.functools_lru_cache ipykernel

conda install tornado==4.5.3

python -m ipykernel install --user --name python2 --display-name "Python 2"

4.2 R 内核

在 Prompt 交互终端中,输入 R,切换到 R 命令行(需要提前将 R 命令加入到环境变量)。

install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))

install.packages('IRkernel')

IRkernel::installspec(user = FALSE)

4.3 集成 SQL

4.3.1 安装部署

conda install -c conda-forge ipython-sql

conda install pymysql

4.3.2 操作指南

%load_ext sql  # 加载模块

%sql mysql+pymysql://root:password@localhost/dbname  # 连接数据库

data = %sql select * from user  # 导入查询结果
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页