之前所有 Python 新项目都是用 python3 -m venv venv3 创建独立的虚拟环境,这次建一个基于 Jupiter 的科学计算环境,所以用到了 Anaconda:
THE FASTEST GROWING OPEN DATA SCIENCE PLATFORM
Anaconda 提供一个管理工具 conda,可以把 conda 看作是 pip + virtualenv + PVM (Python Version Manager) + 一些必要的底层库,也就是一个更完整也更大的集成管理工具。
1. 下载、安装 Anaconda
如果只想用 conda ,可以下载简化版的 Miniconda,需要 Anaconda 可以安装完全版,一共大概 400 M,用阿里云服务器从官方网站下载大概要 6 个小时…不过还好清华大学 TUNA 镜像源提供了镜像:
# 下载时要看清楚 Anaconda3 还是 2,对应的是 Python 3.5 和 2.7
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/Anaconda3-2.5.0-Linux-x86_64.sh
bash Anaconda3-2.5.0-Linux-x86_64.sh设定安装目录 /home/rainy/.anaconda3 并一路确认,会在 ~/.bashrc 添加环境变量,因为我用的是 zsh,所以需要在 ~/.zshrc 添加:
# added by Anaconda3 2.5.0 installer
export PATH="/home/rainy/.anaconda3/bin:$PATH"
conda --version
# conda 3.19.12. 创建(clone)新的环境
conda env list
# conda environments:
#
root * /home/rainy/.anaconda3
conda create --name nb --clone root
conda env list
# conda environments:
#
nb /home/rainy/.anaconda3/envs/nb
root * /home/rainy/.anaconda3切换环境:
source activate nb
# discarding /home/rainy/.anaconda3/bin from PATH
# prepending /home/rainy/.anaconda3/envs/nb/bin to PATH此时变成 (nb) $ ,和 virtualenv 一样,只是在退出时不太一样:
which python
/home/rainy/.anaconda3/envs/nb/bin/python
source deactivate
discarding /home/rainy/.anaconda3/envs/nb/bin from PATH需要重新打开新的窗口才能再切换。现在查看已安装的 package 列表:
source active nb
conda list
# packages in environment at /home/rainy/.anaconda3/envs/nb:
#
abstract-rendering 0.5.1 np110py35_0
alabaster 0.7.7 py35_0
anaconda 2.5.0 np110py35_0
anaconda-client 1.2.2 py35_0
argcomplete 1.0.0 py35_1
astropy 1.1.1 np110py35_0
...3. 配置新的 Jupyter
Anaconda 已经集成了 Jupyter,可以直接使用。Jupyter 默认的配置文件在 ~/.jupyter/jupyter_notebook_config.py,新的 Jupyter 也会从这里读取配置文件,官方文档里面写的 jupyter {application} --generate-config 并不是想象中的用法:
jupyter app --generate-config
jupyter: 'app' is not a Jupiter command根据 Google 的结果,应该是:
JUPYTER_CONFIG_DIR=./jupyter_config jupyter --generate-config编辑配置:
# vim ./jupyter_config/jupyter_notebook_config.py
c.NotebookApp.password = u'sha1:****'
c.NotebookApp.ip = 'my domain.com'
c.NotebookApp.port = 8888启动:
JUPYTER_CONFIG_DIR=./jupyter_config jupyter notebook