*本文着重于介绍怎样学习一个新的东西.即掌握一种学习的方法.
安装
根据Anaconda官网下载相应系统下的相应版本进行安装.
学习
个人认为,一个比较科学的学习方式分为通览文献与手动操作两步
一. 通览文献
浏览官网Documents 了解大概内容, 进而方便下一步的实验以及预防犯一些"在官网已经明确提醒"的错. Anaconda Documents官网.
如图:
- 根据文档提示,可以下载 Anaconda_cheat_sheet(有关安装的)进行安装,如果仅仅需要下载某些特定软件,还可以选择安装更轻小的Miniconda.
- 如果喜欢GUI界面,可以下载安装 Anaconda Navigator.
- 可以下载 conda_cheat_sheet,来根据相应命令尝试conda
- 安装包以及相关支持的列表
- 在安装Anaconda时跟随下载的安装包 200余个,可在此处查询.
- 可以通过
conda install
下载2000余种包 - 可以通过
pip install
下载其他类别的支持包 - 可以通过
conda build
定制自己的包并上床到 Anaconda Cloud上
- 早期版本
由此,我们对Doc 有了大致的了解,更详细的内容可以点击sub-column 诸如user guide来进行更深入的了解.
在这里列举最基本的官方conda_cheat_sheet 中的常用命令:
conda 基础 | |
---|---|
查看 conda是否安装,查看版本号 | conda info |
升级conda 版本至新版 | conda update conda |
安装包 | conda install PACKAGENAME(安装包名) |
运行包,例: Spyder* | spyder |
升级已安装程序 | conda update PACKAGENAME |
帮助命令 | COMMANDNAME(命令名) --help e.g. conda install --help |
环境使用 | |
---|---|
创建一个名为py35的环境, 安装 Python 3.5 | conda create --name py35 python =3.5 |
激活并使用环境 | Windows: activate py35 Linux, macOS: source activate py35 |
列出所有环境,被激活的环境标有* | conda env list |
拷贝环境 | conda create --clone py35 --name py35-2 |
列出当前激活环境的所有已安装包 | conda list |
列出当前环境的所有变更历史记录 | conda list --revisions |
恢复当前环境到先前状态 | conda install --revisions 2 |
保存环境到 text文档 | conda list --explicit > bio-env.txt |
删除当前环境包括相关包 | conda env remove --name bio env |
取消当前环境激活状态 Windows: | deactivate Linux,macOS: source deactivate |
从text文件中获取相关信息,创建环境 | conda env create -file bio-env.txt |
从text文件中获取相关信息,创建命名环境 | conda create --name dl --file dl.txt |
创建新环境 命名为bio-env 并安装biopython包 | conda create --name bio-env biopython |
搜寻conda 安装包 |
---|
用conda 搜索安装包 conda search PACKAGENAME |
查看Anaconda 中所有包 http://docs.anaconda.com/anaconda/packages/pkg-docs/ |
安装 升级 包 | |
---|---|
在当前激活环境中下载新包(Jupyter Notebook) | conda install jupyter |
运行已安装包(Jupyter Notebook) | jupyter-notebook |
在不同环境(bio-env)中下载新安装包(toolz) | conda install --name bio-env toolz |
在当前环境中升级安装包 | conda update scikit-learn |
从指定channel(conda-forge)安装包(boltons) | conda install --channel conda-forge boltons |
在当前环境中从 PyPI 处下载安装包 | pip install boltons |
从指定环境中删除一至多个安装包 | conda remove --name bio-env toolz boltons |
管理多个版本Python | |
---|---|
在 py34环境中下载不同版本python | conda create --name py34 python=3.4 |
切换包含不同版本python的环境 | WINDOWS: activate py34 LINUX,macOS: source activate py34 |
显示当前位于路径中的所有Python版本的位置列表中的第一个,注意:行列表中的第一个Python版本将会被执行 | Windows: where python Linux,macOS: which -a python |
显示当前python 版本 | python --version |
指定版本数字 | p | |
---|---|---|
模糊 | numpy =1.11 | 1.11.0, 1.11.1,1.11.2 etc. |
精确 | numpy ==1.11 | 1.11.0 |
大于等于 | numpy>=1.11 | 1.11.0 及以上 |
或 | numpy=1.11|1.11.3 | 1.11.1 , 1.11.3 |
与 | numpy>=1.8,<2 | 1.8, 1.9 not 2.0 |
二. 手动操作
操作系统
以 Ubuntu 18.04为例进行操作
熟悉命令
1. 查看路径
Terminal 中输入 conda
显示相关命令参数信息
通过 which conda
查看路径:
运行python,此时
发现此时的环境变成了anaconda下的python:
原因是由于anaconda的环境路径会优先添加到/usr/bin之前,导致anaconda3/bin被优先执行:
2.创建环境
查看环境conda env list
创建环境,命名为try, 使用python2.7 且安装tensorflow-gpu,使用命令 conda create -n try python=2.7 tensorflow-gpu=1.0.1
,这里会发现,当安装tensorflow gpu 时,会自动搜索相关支持,如 cudatoolkit 7.5.2 cudnn 5.1.0 不用再额外安装相关版本的驱动,非常省事.
使用 source activate try
激活环境"try".查看python版本可见python为2.7. 完成了对不同版本python的引用.
三. 注意
这里有一个比较不容易被发现的小问题
在terminal中打开python,导入tensorflow 并查看版本
import tensorflow as tf
print tf.__version__
可以发现,tf版本为1.3.0 并非我们安装的tensorflow版本.
用pip show tensorflow
查看安装位置
发现tensorflow1.0.1所存位置为环境"try"下,已经正确安装. 这说明 Python默认的syspath 优先导入了其他路径的tensorflow包.让我们通过sys.path
查看一下:
在这里,我们可知python 优先 调用了 .local/lib/python2.7/site-packages 路径下的安装包.也就是说,如果本机在.local下已经安装过了tensorflow,那么则会优先导入.local下的. 而我们安装的tensorflow存在于 /anaconda3/envs/try/lib/python2.7/site-packages 下,不能被优先执行. 至于这个 .local 是怎么杂糅进来的,我也不确定, 有一种可能性 当在conda中混合使用pip时,有可能会把东西下载到local处并改变了原有的python的syspath.
解决方法
-
删除 .local 下的安装软件或者remove 掉多余的syspath
-
直接在代码中交换sys.path的最后两项位置
sys.path[-1],sys.path[-2]=sys.path[-2],sys.path[-1]
-
在PYTHONPATH中添加tensorflow的安装路径并存于路径前部
export PYTHONPATH=/home/wei/anaconda3/envs/try/lib/python2.7/site-packages:$PYTHONPATH
或者直接添加到.bashrc以免每次登录terminal都要重新添加.
-
测试运行一段代码:
成功!
四. 至此
使用anaconda控制环境以及安装包版本的初步学习基本完成.