Conda是什么?
Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。
Anaconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载。
Miniconda 是一个 Anaconda 的轻量级替代,默认只包含了 python 和 conda,但是可以通过 pip 和 conda 来安装所需要的包。
Miniconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 下载。
安装使用
本文以Centos7为例,实现Linux下面安装Miniconda及配置使用Jupyter Notebook。
1、访问https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/地址,根据更新日期找到在Linux里面安装的最新脚本,通过命令下载到Linux里面。
通过Linux命令wget进行下载:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
注:若命令不存在,执行 yum install wget -y 安装即可
执行 bash Miniconda3-latest-Linux-x86_64.sh 命令进行安装,本文默认安装,也可自定义安装目录,此处不再多做叙述。下图是安装流程的完整截图。
看上图最后几行,miniconda安装完后,环境变量添加到/root/.bashrc文件。
执行 source /root/.bashrc 使其能够正常使用。
查看版本信息,若能正常返回,说明安装成功。
conda -V
配置 Anaconda 仓库镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
设置快捷命令
设置别名,方便操作。
在文件最后追加以下内容
vim /root/.bashrc
# alias for conda
alias conl="conda env list"
alias conc="conda create -n"
alias cona="source activate"
alias cond="source deactivate"
alias conr="conda remove --all -n"
执行 source 命令使配置生效。
source /root/.bashrc
conl 查看环境列表,若返回正确,说明配置成功
构建python3.6环境
#创建一个名为lfeng,python3.6的虚拟环境
conc lfeng python=3.6
# 进入python3.6虚拟环境
cona lfeng
# 退出python3.6虚拟环境
cond
Jupyter Notebook 安装
- 进入到python虚拟环境
cona lfeng
- 使用 pip 包管理工具安装Jupyter
pip install jupyter
Jupyter Notebook 命令选项
- 启动服务
jupyter 默认不建议以root身份运行.使用 --allow-root 跳过警告信息.
jupyter notebook --allow-root
默认情况下启动的是本地的8888端口,http://localhost:8888
- 自定义端口启动,修改配置文件也可以实现
jupyter notebook --port 9999
- 在不打开浏览器的情况下启动Notebook服务器
jupyter notebook --no-browser
- 查看帮助信息
jupyter notebook --help
Jupyter Notebook 配置文件
- 生成配置文件
jupyter notebook --generate-config
- 配置文件默认已注释掉所有字段。我们只要在文件最后追加自己想要的功能选项做对应的修改即可。下面简单的介绍几个:
## 是否允许notebook在root用户下运行.
#c.NotebookApp.allow_root = False
# notebook服务监听IP地址, 默认是 localhost
c.NotebookApp.ip = ‘localhost‘
## 用于笔记本和内核的目录。
#c.NotebookApp.notebook_dir = ‘‘
# 设置密码登录时,自定义生成的哈希密码
#c.NotebookApp.password = u‘sha1:bcd259ccf...<your hashed password here>‘
## 启动后是否在浏览器中打开
#c.NotebookApp.open_browser = True
## notebook服务监听的IP端口,默认8888.
#c.NotebookApp.port = 8888
## 如果指定的端口不可用,则要尝试其他端口的数量.
#c.NotebookApp.port_retries = 50
## SSL/TLS 私钥文件所在全路径.
#c.NotebookApp.keyfile = ‘‘
## SSL/TLS 认证文件所在全路径.
#c.NotebookApp.certfile = ‘‘
## 用于ssl/tls客户端身份验证的证书颁发证书的完整路径.
#c.NotebookApp.client_ca = ‘‘
## 禁用在第一次登录时更改密码的功能
#c.NotebookApp.allow_password_change = True
Jupyter Notebook 功能实现
目标:实现其他主机访问本机上的Jupyter Notebook,并实现密码登录访问
- 执行下面命令设置秘密,生成哈希密码。会生成一个json文件
jupyter notebook password
- 修改配置文件
vim /root/.jupyter/jupyter_notebook_config.py
## 是否允许notebook在root用户下运行.
c.NotebookApp.allow_root = True
# notebook服务监听IP地址, 默认是 localhost
c.NotebookApp.ip = ‘10.211.55.5‘
## notebook服务监听的IP端口,默认8888.
c.NotebookApp.port = 8888
## 用于笔记本和内核的目录。
c.NotebookApp.notebook_dir = ‘/root/test‘
## 启动后是否在浏览器中打开
c.NotebookApp.open_browser = False
# 设置密码登录时,自定义生成的哈希密码,在生成的json文件中获取
c.NotebookApp.password = u‘sha1:942148223b73:aa965e07abb559338596a3caeb3d7c1ae8290c27‘
- 启动jupyter
jupyter notebook
- 在浏览器访问 http://10.211.55.5:8888/ 地址,出现下面登录界面,表示安装成功。输入密码即可访问。
附录:cona的简单使用
conda create -n [name] #创建名为name的conda环境
source activate [name] #激活刚才创建的环境
source deactivate [name] #退出名为name的环境,回到系统默认环境
conda remove -n [name] --all #删除刚刚创建的conda环境
conda info -envs
conda list #查看已经安装的包
conda install [packagename] #安装具体的包,加-n [name]可以安装到指定环境
conda list -n [name] #name环境下安装了哪些包
conda update -n [name] [packagename] #升级name环境的名为packagename的包
conda remove -n [name] [packagename] #删除name环境的名为packagename的包
创建python版本的环境
conda create --name your_env_name python=2.7
conda create --name your_env_name python=3
conda create --name your_env_name python=3.6
创建包含某些包的环境
conda create --name your_env_name numpy scipy
创建指定python版本下包含某些包的环境
conda create --name your_env_name python=3.6 numpy scipy
原文地址:http://blog.51cto.com/loufeng/2342003