集成开发环境:Anaconda的安装与使用
一、简介
Anaconda能够便捷地获取包并且对包进行管理,同时对环境进行统一管理的发行版本软件。
它包含了conda,Python在内的超过180个科学包(numpy,scipy,ipython notebook)及其依赖项
- 由专门公司维护,方便安装整理Py库
- 可以创建虚拟环境,项目间互相不影响(Python本来就有虚拟环境的功能的)
conda
- 管理包及其依赖项和环境
- 快速安装,运行和升级包及其依赖项
- 在计算机中便捷地创建,保存,加载和切换环境
- conda为Python项目而创造,但可适用于多种语言
- 功能上是pip+virtualenv的集合
pip
- 用于管理包的包管理器
virtualenv
- 用于创建一个独立的Python环境的工具
conda与pip的比较
- conda安装包时自动安装其依赖项
- conda可以在不同的环境之间进行切换
- conda对系统自带Python没有影响
- conda支持10种编程语言,pip一种
二、Anaconda的下载安装
#1. Linux下
Step1.下载
- 进入用户目录:
cd ~
- 在官网中找到Linux的安装包,拷贝包的下载地址,然后
wget
,比如:wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
Step2.安装
- 安装自解压shell包:
sh Anaconda3-2021.05-Linux-x86_64.sh
,以下是安装说明:- 回车 通读许可条款。
- yes 同意许可条款。
- 回车 接受默认安装位置
/home/{User}/anaconda3
,或指定其他目录 - yes 将Anaconda3安装位置添加到
~/.bashrc
文件中
- 让
~/.bashrc
刷新生效:source ~/.bashrc
- 验证安装成功:
conda --version
- 更新conda:
conda update conda
#2. Windows下载安装
-
官网下载:http://docs.anaconda.com/anaconda/install/windows/
-
安装注意:
- 安装路径不能有中文与空格
- Install For:Just Me
- 推荐勾选“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的环境变量。”),这是为了在cmd中调用Anaconda下的Python环境,在用php模拟cmd时会用到。如果自己需要,就添加这三个:
-
验证安装:Anaconda Prompt下输入conda list查看已经安装的包名和版本号
-
修改默认项目路径:
- 在Anaconda Powershell Prompt上输入"jupyter notebook --generate-config"
- 在提示的路径中打开"jupyter_notebook_config.py"
- 找到"c.NotebookApp.notebook_dir", 将注释删除并填写指定路径
- 在Anaconda Powershell Prompt上输入“jupyter notebook”就会自动加载指定路径
- 注意如果是虚拟环境,需要安装juypter库
-
配置pip缓存路径(默认是c盘用户的AppData下)
- 在Anaconda Prompt下
pip config set global.cache-dir "D:\CodeFiles\pipcache"
- 在Anaconda Prompt下
-
推荐安装ipython,快速测试短代码用。
三、使用
以下命令Windows在“Anaconda Prompt”中执行,Linux在shell中执行
#1. 基本管理
- 验证conda
- conda --version
- 更新conda
- conda update conda
#2. 添加镜像源(记得把defaults删掉)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
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 --show channels # 查看channels信息
conda config --remove channels https://xx # 删除channels
# 原来的是:defaults
Tip:Windows可以在Anaconda Navigator下安装库和调整镜像网站
#3. 安装第三方库
用conda安装
首先先添加清华的镜像源
conda install xxx # 安装第三方库
conda uninstall xxx # 卸载第三方库
conda update --all # 升级所有第三方包
conda list # 查看已安装的包
用pip安装:
在conda的虚拟环境下使用pip命令安装,也会属于该虚拟环境
pip install pysocks # (可选)前置库
#4. 导出&安装环境依赖文件
推荐pip,一是pip有conda没有的包,二是pip安装的库包也是位于所在虚拟环境下的。
pip导出requirements.txt
pip freeze > requirements.txt # 生成requirements.txt
pip安装requirements.txt
中的库包:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 安装库包, 因为pip默认从外网获取资源,没有翻墙软件则要使用国内镜像
用conda导出environment.yml
conda env export > environment.yml
后缀是yml而不是yaml
用conda安装environment.yml
中的文件
conda env create -f environment.yml
"environment.yml"是配置文件,如《动手学习深度学习》一书中的配置文件
name: gluon
dependencies:
- python=3.6
- pip:
- mxnet==1.5.0
- d2lzh==0.8.11
- jupyter==1.0.0
- matplotlib==2.2.2
- pandas==0.23.4
读取配置文件会自动进行创建环境与下载包。
用conda安装requirements.txt
中的库包(不大推荐该命令):
while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
执行该命令时,若conda找不到包,会自动调用pip安装
报错:ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
unset all_proxy
unset ALL_PROXY
pip install pysocks
#5. 虚拟环境的配置使用
conda create --name env_name python=python_version # 创建指定python版本的环境
conda activate env_name # 进入指定环境
conda deactivate env_name # 退出指定环境
conda remove --name env_name --all # 删除环境
conda info --env # 查看所有环境
conda create --name new_env --clone old_env # 克隆环境
#6. 本地连接Linux服务器的Jupyter notebook
前提. 在虚拟环境中安装完jupyter notebook
S1. 在服务端配置Jupyter Notebook
进入虚拟环境
生成config配置文件:jupyter notebook --generate-config
生成密码(在终端下):
-
python # 进入python from notebook.auth import passwd passwd() # 输入两次密码后会出现加密的秘钥, 复制过来
修改config配置文件:
-
vim ~/.jupyter/jupyter_notebook_config.py # jupyter_notebook_config.py c.NotebookApp.ip='*' # 允许所有的ip访问 c.NotebookApp.password = u'刚才复制的秘钥' c.NotebookApp.open_browser = False # 启动jupyter notebook后不自动启动浏览器,此项根据需求 c.NotebookApp.port = 7548 # 我们电脑访问的端口
运行Jupyter notebook:jupyter notebook
,如下图所示
在自己的电脑的浏览器上输入"服务器ip:7548"
#7. 在Jupyter notebook界面切换虚拟环境
安装nb_conda库:
- 方法一:在
Anaconda Powershell
执行conda install nb_conda
安装需要的库,进入Jupyter Notebook
后就会发现界面中多了Conda界面: - 方法二:在
Anaconda Navigator
直接安装
#8. Windows下可以在Anaconda Navigator中可以查看所有环境与安装包
#9. 在Windows下用cmd调用Anaconda下的Python环境
前提是在用户环境变量中配置了Anaconda的三个路径(安装时可以勾选的,也可以自己去添加)。
在cmd下:
-
conda info --envs # 查看所有虚拟环境 activate xx # 激活某个虚拟环境
四、Bug汇总
Linux下,每次都得source ~/.bashrc
,否则找不到conda命令。这是因为用户目录的文件被误删,本来source ~/.bashrc
是自动执行的
vim ~/.bash_profile
if [ -f ~/.bashrc ] ; then
source .bashrc
fi
在win10下的命令行运行Python时,抛出UnicodeDecodeError
- 原因:wiin10默认编码是gbk,而该文件是utf8
- 解决:
Anaconda3\Lib\site-packages\pyreadline\lineeditor\history.py
中第82行,修改如下:for line in open(filename, ‘r’,encoding=‘utf-8’)