anaconda安装与使用
[TOC]
参考链接
安装anaconda
-
在PC上,去Anaconda官网,获得安装包的下载链接
- Download for Your Preferred Platform下,选Linux,根据需要选Python版本和操作系统位数
- 右键点击下载按钮,选
复制链接
,如https://repo.continuum.io/archive/Anaconda2-4.4.0-Linux-x86_64.sh
-
cd到服务器上自己d的用户目录
-
下载安装文件b
wget 上述链接
-
查看安装文件是否下载成功
ls
看见有形如
Anaconda3-4.0.0-Linux-x86_64.sh
的文件说明下载成功 -
执行安装文件,如
bash Anaconda2-4.4.0-Linux-x86_64.sh
-
整个过程点几下回车,或者选yes就好了。
-
但到最后一步,会提示是否把anaconda加入到系统环境变量中,选no(直接回车即可,默认就是no)
-
安装完成后,
ls # 会有anaconda2或者anaconda3文件夹, 分别对应python2 或 python3
- 此时若终端中输入conda,发现command not found。这是因为,尚未向用户环境变量加入ananconda
-
配置
- 向用户环境变量加入ananconda
# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH=~/anaconda2/bin:$PATH' >> ~/.bashrc
# 激活bashrc以立即生效
source ~/.bashrc
-
如用户登录服务器后,conda无l法使用
- 症状:conda命令、conda虚拟环境、conda-forge安装的软件无法使用,ls显示的文件不是彩色的
- 对策:重新激活bashrc
-
此时,用户目录下就可以正常使用conda了。测试方法如下
# 调出conda
conda
# 查看安装了那些包
conda list
# 查看anaconda是否成功劫持python命令
which python
# 若返回/home/$USER/anaconda2/bin/python则成功
- 测试anaconda预装的软件能否打开
# jupter notebook
jupyter notebook
[I 11:38:51.999 NotebookApp] Serving notebooks from local directory: /home/$USERliang
[I 11:38:51.999 NotebookApp] 0 active kernels
[I 11:38:51.999 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=2f2a56290a357f0ab3aa3be983091614474113ca24f9edc1
[I 11:38:52.000 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 11:38:52.000 NotebookApp] No web browser found: could not locate runnable browser.
[C 11:38:52.000 NotebookApp]
Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=2f2a56290a357f0ab3aa3be983091614474113ca24f9edc1
# spyder
spyder
QXcbConnection: Could not connect to display
Aborted (core dumped)
卸载
- 直接删除用户目录下的anaconda文件夹即可
rm -rf ~/anaconda2
- 更改用户环境变量为系统的python
echo 'export PATH=/usr/bin/:$PATH' >> .bashrc
- 测试python能否使用
which python
# 得到 /usr/bin/python 则说明更改成功
python
pip
# 都能成功打开则说明成功
conda下安装包/软件
python的包
conda命令概述
conda 命令 # 在当前虚拟环境下执行
conda 命令 -n 虚拟环境名 # 在指定虚拟环境下执行
# 如 conda -n python2.7 list, conda -n python2.7 install numpy
包的管理
conda list # 查看已装包
conda search 包 # 查找包信息——从网上获取所有版本的这个包的列表,标 * 的是已装的
conda install 包 # 安装包
conda -c channel install 包 # 通过指定channel安装
# 如 conda -c conda-forge install tmux
# 如 conda install -c bioconda coreutils
conda update # 更新包
conda remove # 卸载包——会删除包所在的文件夹
conda与pip的区别
-
install
- conda install会自动列出,要装某包,缺何版本的哪些依赖包,问你要不要一并装掉,只需按
y
,即自动安装。还能装非python的包,只要anaconda cloud上有。 - pip install遇到缺依赖包,则直接终端安装,且并不总能报错说缺什么包。只能装python的包。
故,pip install装不上去的包,用conda install常能装上。
- conda install会自动列出,要装某包,缺何版本的哪些依赖包,问你要不要一并装掉,只需按
-
list
- conda list可见pip list可见的所有包:最新版的conda从
conda/env/环境名称/lib/python3.6/site-packages/
文件夹中搜索已装的包,不依赖于pip,可显示各种方式(含pip安装、自己make的)安装的包 - pip list可见初创conda环境中所有的包,但不可见之后conda安装、和自己make的包
- conda list可见pip list可见的所有包:最新版的conda从
-
uninstall
- conda不能卸载用pip安装的包:因为conda卸载时,要分析包的依赖。但pip装的包,conda不知其在conda上的来源,故无法分析。
- pip不能卸载环境创建后用conda安装的包:pip list 可见的包才可pip卸载
-
克隆环境
使用conda克隆环境(可以跨电脑克隆),只要在
conda/env/环境名称/lib/python3.6/site-packages/
下,不论以何种方式(如pip, conda, 自己make)安装的python包,都会克隆
非python软件
anaconda是一个用户环境,而非单纯的python包管理器,其下不仅仅可以安装python的包,还可以通过conda forge/biconda等通道(channel)安装其他软件
安装
-
登录conda cloud,在搜索栏搜索软件名称,如
tmux
-
得到tmux软件列表,点击 conda-forge 下的 tmux 2.3
-
进入tmux2.3的安装网页,会显示安装命令,如
conda install -c conda-forge tmux
-
在用户目录下执行上述命令
效果
- 之后该用户登录后,不论在何目录下,均可运行tmux
安装网页链接与安装命令
conda install -c conda-forge tmux
conda install -c conda-forge htop
conda install -c bioconda coreutils
安装后,在htop中可见所有用户的进程
虚拟环境
-
功能简介
anaconda的各虚拟环境相互独立,可装有不同包,可为多个python版本(如python2,python3,不论你装的是anaconda2还是anaconda3)
-
创建环境
conda create -n 环境的名字(如conda_python2.7) python=2.7
# -n 即 --name
# 还可以写其他python版本号
- 查看环境
conda info -e # -e 即 --envs , enviroments之意
root * /home/$USER/anaconda2 # * 表示当前处在这个环境下
# root环境,即用户环境变量中的python路径
conda_python2.7 /home/$USER/anaconda2/envs/conda_python2.7
- 切换环境
source activate 环境的名字(如conda_python2.7) #Linux,OS X
activate 环境的名字(如conda_python2.7) # Windows
# 效果如下
(conda_python2.7)conda info -e # (conda_python2.7)表示处在虚拟环境里
root /home/$USER/anaconda2 # * 表示当前处在这个环境下
conda_python2.7 * /home/$USER/anaconda2/envs/conda_python2.7
- 返回root环境
(conda_python2.7)source deactivate # Linux,OS X
(conda_python2.7)deactivate # Windows
# 效果为 (conda_python2.7)消失,* 标记到 root
- 克隆环境
conda create -n 新环境名字 --clone 原环境名字或原环境所在路径(anaconda/envs/原环境名)
原环境名字 :
-
“base” (等价于"root"): conda默认环境
-
其他conda环境: anaconda/envs/下的文件夹名即是,或
conda info -e
可见
原环境所在路径:
-
可将别的电脑上
anaconda/envs/原环境名
文件夹拷过来,其环境下用conda和pip安装的python与非python包,克隆后仍皆可用 锚点 -
也可是本机上的
anaconda/envs/原环境名
文件夹 -
删除环境
conda remove -n 环境名字 --all
不兼容
matplotlib
-
问题描述
在mac系统上的虚拟环境(不论是anaconda还是virtualenv的)中,matplotlib无法使用:
import matplotlib.pyplot时,显示
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework…(略)…See ‘Working with Matplotlib on OSX’ in the Matplotlib FAQ for more information.
-
解决方法1
在~/.matplotlib下,新建matplotlibrc文件,写入
"backend : TkAgg"
echo "backend : TkAgg" > ~/.matplotlib/matplotlibrc
该方法可使得虚拟环境能用matplotlib,但不影响conda的root环境、操作系统的python使用matplotlib
-
解决方法2
每次在虚拟环境下用matplotlib时,python代码中这样import
import matplotlib # 先import它,以便下一行
matplotlib.use('TkAgg') # 加入此行,之后可import matplotlib中的各种模块
import matplotlib.pyplot as plt # 例如
报错
anaconda报错 ImportError: No module named conda.cli
症状
conda
Traceback (most recent call last): File "/home/haoyu/ENV/localENV/anaconda3/bin/conda", line 12, in <module> from conda.cli import main ModuleNotFoundError: No module named 'conda'
对策
更新式重装
bash Anaconda3-2018.12-Linux-x86_64.sh -u
安装过程中选择之前的<anaconda根目录>
注:bash Anaconda3-2018.12-Linux-x86_64.sh -h
显示 -u
表示 “update an existing installation”,如此更新式重装anaconda,但anaconda的base环境及其他自定义环境均会保留
重装
若依旧不能解决上述bug,则删掉之前的<anaconda根目录>
,然后重装anaconda
bash Anaconda3-2018.12-Linux-x86_64.sh
anaconda的base环境及其他自定义环境均不会保留