layout: post # 使用的布局(不需要改)title: Anaconda安装与虚拟环境设置 # 标题
subtitle: Anaconda安装与虚拟环境设置 #副标题
date: 2019-09-25 # 时间
author: NSX # 作者
header-img: img/post-bg-2015.jpg #这篇文章标题背景图片
catalog: true # 是否归档
tags: #标签
- 教程
- Linux
安装Anaconda (2019年新版)
Conda 简介
pip是一个包管理器而virtualenv是一个环境管理器, Conda兼具两者的功能
Task | Conda package and environment manager command |
---|---|
Install a package | conda install $PACKAGE_NAME |
Update a package | conda update —name $ENVIRONMENT_NAME $PACKAGE_NAME |
Update package manager | conda update conda |
Uninstall a package | conda remove —name $ENVIRONMENT_NAME $PACKAGE_NAME |
删除一个已有的环境 | conda remove —name python34 —all |
Create an environment | conda create —name $ENVIRONMENT_NAME python |
Activate an environment | source activate $ENVIRONMENT_NAME |
Deactivate an environment | source deactivate |
Search available packages | conda search $SEARCH_TERM |
Install package from specific source | conda install —channel $URL $PACKAGE_NAME |
List installed packages | conda list —name $ENVIRONMENT_NAME |
Create requirements file | conda list —export |
List all environments | conda info —envs |
Install other package manager | conda install pip |
Install Python | conda install python=x.x |
Update Python | conda update python * |
单元格 | 单元格 |
安装
- 在linux中使用wget下载
sudo wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.03-Linux-x86_64.sh
- 如果提示没有wget,使用yum安装:
yum -y install wget
- 安装Anaconda (在下载目录中执行该文件)
bash Anaconda3-2019.03-Linux-x86_64.sh
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':
>>> yes
...
Anaconda3 will now be installed into this location:
/root/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/root/anaconda3] >>> 更改要输入绝对路径
...
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> no
...
配置环境变量
安装完成之后,需要自行配置环境变量。
- 打开bashrc文件:
vi ~/.bashrc
在文件最后加入如下语句(路径需要根据自己的安装位置更改):export PATH="/data/ningshixian/software/anaconda3/bin:$PATH"\
export PATH="/usr/local/anaconda3/bin:$PATH"
- 按住shift键+:键,输入wq,保存文件并退出。最后使用如下命令刷新环境变量即可:
source ~/.bashrc
- 进入、退出环境使用的也是source开头的命令:
source activate # 进入conda环境 出现(base)则说明安装成功
source deactivate # 退出conda环境
- 检查是否成功
which conda
which pip
添加国内开源镜像
安装完毕第一件事就应该是修改软件源为国内的开源镜像,可以使用中科大或者清华的镜像.Linux 下打开终端
解决PIP下载安装速度慢
让PIP源使用国内镜像,提升下载速度和安装成功率
临时使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxx
永久修改:
Linux下,修改 ~/.pip/pip.conf
(没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini。内容同上。
PS:也可通过命令形式,修改conda/pip源
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
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
问题
win下,输入conda upgrade —all显示错误CondaHTTPError: HTTP 000 CONNECTION FAILED for url
原因:Anaconda Navigator主服务器访问困难
解决:直截了当——vim ~/.condarc,把内容改为如下所示内容:
channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
show_channel_urls: true
创建和激活环境
conda create --name nsxenv python=3.6
这样就创建好了一个基于 python 3.6 版本的 conda 虚拟环境,conda 创建的虚拟环境保存在 ~/.conda/envs
conda activate nsxenv # 激活
conda deactivate # 退回到base环境
如果你不记得了你创建的环境名称,可以使用以下命令来查看:conda env list
这个命令也会给出 conda 虚拟环境所在的目录.Windows 下 conda 虚拟环境存储的位置最好就用这个来查看了,似乎与 Anaconda 的版本有关,存储位置不确定.
直接指定-n 指定安装环境的名字:
conda install --name myenv beautifulsoup4
激活环境之后,再安装√:
conda install package
pip install package # 对于conda源没有的库,也可以使用pip安装
建议:在 conda 虚拟环境中优先使用 conda 命令安装 python 包,conda 不提供的时候再用 pip 安装.
环境管理
conda list
conda env list
conda update conda
创建好的环境可以保存下载,然后在其他服务器上创建同样的环境.导出环境:
conda env export > environment.yml
environment.yml 文件保存了当前环境中所有的 python 包和对应的版本,将其分享到其他机器即可从该文件创建出一个相同的 conda 虚拟环境.从指定文件创建环境可以使用命令:
conda create -f environment.yml
如果你想要删除一个不再使用的 conda 虚拟环境,可以使用:
conda env remove --name myenv
conda清理瘦身
anaconda就像一个相对独立的生态,所有被安装的包都在anaconda的安装目录下客观存在者,客观占用着我们的硬盘空间,随着使用到的包越来越多,一次次伴随安装的依赖包也越来越多,还有Python每个版本都对应了自身的一整套包,例如Python3.5和3.6就分别对应了各自的一整套包,anaconda文件夹的体积也越来越大,突发奇想查看一下呗,7.8G,瞬间被吓倒,怎么解决呢,很简单!
conda clean就可以轻松搞定:
conda clean -p //删除没有用的包
conda clean -t //tar打包
conda clean --all //删除索引缓存、锁定文件、未使用过的包和tar包。
经过上面两步,我的anaconda便变成了4.3G,几乎瘦身一半。有一点要注意的是,conda clean命令是对所有anaconda下的包进行搜索,当然也包括构建的其他Python环境中的包,这一点还是很高效的,不用再进入其他环境重复操作。
pip导出当前项目的依赖包
导出pip已经安装的所有包
pip freeze > requirements.txt
上面这种方式只适合在虚拟环境中导出虚拟环境中的包,如果不是在虚拟环境下就会导出全局环境的python的环境包!
要想在全局环境中导出我们项目的依赖包,可以利用python包“pipreqs”
$> pip install pipreqs
# 进入到项目所在目录,在执行下面的命令
$> pipreqs . --encoding=utf8 --force
# “.” 指的是将导出依赖包的文件放在当前目录下
# “--encoding=utf8” 指的是存放文件的编码为utf-8,否则会报错
# “--force” --force 强制执行,当 生成目录下的requirements.txt存在时强子覆盖