1 为什么要Anaconda
你可能已经安装了 Python,那么为什么还需要 Anaconda?有以下3个原因:
1)Anaconda 附带了一大批常用数据科学包,它附带了 conda、Python 和 150 多个科学包及其依赖项。因此你可以立即开始处理数据。
2)Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。在数据分析中,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。
3)管理环境。比如你在A项目中用了 Python 2,而新的项目B老大要求使用Python 3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候 conda就可以帮助你为不同的项目建立不同的运行环境。还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个 Numpy 版本,你要做的应该是,为每个 Numpy 版本创建一个环境,然后项目的对应环境中工作。这时候conda就可以帮你做到。
2 安装anaconda
首先在下载链接中下载对应版本,然后运行安装
bash Anaconda3-5.1.0-Linux-x86_64.sh
注意要换成自己下载的版本,安装的时候一路enter或yes就可以,安装完后将路径加入环境变量~/.bashr中,然后测试
conda list # 查看安装的包
3 管理python环境
3.1 新建环境
默认的环境是root,也可以新创建一个环境
conda create -n env_name list of packages
其中 -n
代表 name,env_name
是需要创建的环境名称,list of packages
则是列出在新环境中需要安装的工具包。
例如,当我安装了 Python3 版本的 Anaconda 后,默认的 root 环境自然是 Python3,但是我还需要创建一个 Python 2 的环境来运行旧版本的 Python 代码,最好还安装了 pandas 包,于是我们运行以下命令来创建:
conda create -n py2 python=2.7 pandas
细心的你一定会发现,py2 环境中不仅安装了 pandas,还安装了 numpy 等一系列 packages,这就是使用 conda 的方便之处,它会自动为你安装相应的依赖包,而不需要你一个个手动安装。
再比如,新建一个tensorflow环境
conda create -n tensorflow python=3.5
conda activate tensorflow
pip install tensorflow-gpu keras # 安装 gpu 版本的 tensorflow 和 keras
#安装需要的环境
conda install ipython
conda install jupyter
3.2 进入环境
conda activate env_name
3.3 退出环境
conda deactivate
3.4 删除环境
conda env remove -n env_name
3.5 显示环境
conda env list
3.6 保存环境
当分享代码的时候,同时也需要将运行环境分享给大家,执行如下命令可以将当前环境下的 package 信息存入名为 environment 的 YAML 文件中。
conda env export > environment.yaml
3.7 迁移环境
同样,当执行他人的代码时,也需要配置相应的环境。这时你可以用对方分享的 YAML 文件来创建一摸一样的运行环境。
conda env create -f environment.yaml
3.8 复制环境
conda env create -f environment.yml
# conda create --name <new_env_name> --clone <copied_env_name>
3.9 退出默认 base
conda config --set auto_activate_base false
4 conda包管理
修改conda源为国内源
清华源
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
中科大源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
配置后查看 conda 配置
conda config --show channels
4.1 安装包
在指定环境中安装包
conda install --name <env_name> <package_name>
例如: conda install --name python2 pandas 即在名为“python2”的环境中安装pandas包。
在当前环境中安装包
conda install <package_name>
4.2 卸载包
卸载指定环境中的包
conda remove --name <env_name> <package_name>
卸载当前环境中的包
conda remove <package_name>
4.3 更新包
conda update <package_name> #方法1
conda upgrade <package_name> #方法2
5 conda 常见错误
创建虚拟环境时,如果报错如下
Solving environment: failed
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/free/linux-64/repodata.json.bz2>
Elapsed: -An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.ConnectionError(MaxRetryError("HTTPSConnectionPool(host='repo.anaconda.com', port=443): Max retries exceeded with url: /pkgs/free/linux-64/repodata.json.bz2 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fb660030c50>: Failed to establish a new connection: [Errno 101] Network is unreachable'))"))
则参考上边的方法,把源替换一下即可