软硬件环境
- ubuntu 16.04 64bit
- Anaconda 3.5.1.0
- python 3.6
Anaconda是什么
Anaconda
是一个用于科学计算的python
发行版,支持Windows
,Linux
及Mac
系统,提供了包管理的功能,可以非常方便的解决python
的多版本并存,切换及各种第三方包的安装问题,并且还能独立于系统环境,添加及删除都非常方便.
安装配置
linux
版本的下载地址, https://www.anaconda.com/download/#linux,目前提供了分别基于python2.7
和python3.6
的2个正式版,最近python
官方已经有消息称python2
只会支持到2020年,所以如果没有特别的原因,请尽早迁移到python3.
下载好的是一个脚本文件Anaconda3-5.1.0-Linux-x86_64.sh
,然后执行
./Anaconda3-5.1.0-Linux-x86_64.sh
安装过程基本上是傻瓜式的,不过有3点需要注意,第一默认的安装路径在/home/$user/anaconda3
,第二就是执行安装脚本时不要用sudo
,这样做的好处是减少系统权限问题,管理方便,迁移方便,第三将PATH
加入~/.bashrc
中,如果安装过程中不小心选择了NO
,自行添加也可以,如下
export PATH=/home/xugaoxiang/anaconda3/bin:$PATH
conda命令
安装完anaconda
,conda
命令就有了, 它是一个工具,可以在命令行中执行,与pip
的使用非常类似, 用来进行包管理及环境管理。
这里列几个conda
的常用命令
# 查看当前环境下已安装的包
conda list
# 查看某个指定环境的已安装包
conda list -n python36
# 查找package信息
conda search numpy
# 安装package
conda install numpy
# 更新package
conda update numpy
# 删除package
conda remove numpy
# 更新conda, conda也是一个package
conda update conda
# 更新python
conda update python
# 创建虚拟环境
conda create -n test python=3.6
# 删除虚拟环境
conda remove -n test --all
# 查看所有创建的虚拟环境
conda env list
# 激活虚拟环境
conda activate test
# 退出虚拟环境
conda deactivate
# 虚拟环境克隆
conda create -n target --clone source
anaconda源管理
国内比较好的anaconda
源,清华大学的,把它添加进来
编辑~/.condarc
文件
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
然后执行命令conda clean -i
清理索引缓存
pycharm中使用anaconda
File --> Default Settings --> Project Interpreter
, 新增本地的python
解析器, 在出现的对话框中左侧选中Conda Environment
, 对应的右侧pycharm
会自动帮你找到anaconda
中安装的python
位置,你可以给它取个好记点的名字,如我这的/home/xugaoxiang/anaconda3/envs/xugaoxiang
,版本号是3.6,
点击Apply
,再选中OK
完成配置。
在上述步骤结束之后,可以到/home/xugaoxiang/anaconda3/envs/
目录下看看, 在配置之前这个目录是空的,现在多处了很多的文件及目录,它是一个独立的虚拟环境
升级python
执行命令conda update python
,升级完成后,发现执行python
时报错
File "C:\Users\admin\anaconda3\lib\site-packages\requests\__init__.py", line 43, in <module>
import urllib3
File "C:\Users\admin\anaconda3\lib\site-packages\urllib3\__init__.py", line 7, in <module>
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
File "C:\Users\admin\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 39, in <module>
from .response import HTTPResponse
File "C:\Users\admin\anaconda3\lib\site-packages\urllib3\response.py", line 155, in <module>
class HTTPResponse(io.IOBase):
File "C:\Users\admin\anaconda3\lib\site-packages\urllib3\response.py", line 377, in HTTPResponse
DECODER_ERROR_CLASSES += (brotli.error,)
AttributeError: module 'brotli' has no attribute 'error'
将C:\Users\admin\anaconda3\lib\site-packages\urllib3\response.py
文件中的
if brotli is not None:
DECODER_ERROR_CLASSES += (brotli.error,)
改为
#if brotli is not None:
# DECODER_ERROR_CLASSES += (brotli.error,)
然后执行conda update conda
,urllib3
软件包也随之升级,问题解决