Python 虚拟环境之 Anoconda
Anaconda 是一个方便的 python 包管理和环境管理软件,一般用来配置不同的项目环境。
什么是 Anaconda
简介
anaconda 可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda 包含了 conda、panda 在内的超过 180 个科学包及其依赖项。
Anaconda、conda、pip、virtualenv 的区别
anaconda
Anaconda 是一个包含 180+ 的科学包及其依赖项的发行版本,其包含的科学包包括: conda、numpy、scipy、ipython notebook 等
conda
conda 是包及其依赖项和环境的管理工具
适用语言:Python、R、Ruby、Lua、Scala、Java、JavaScript、C、C++、FORTRAN
适用平台:windows、macos、linux
用途:
- 快速安装、运行和升级包及其依赖项。
- 在计算机中便捷的创建、保存、加载和切换环境
conda 为 python 项目而创造,但可适用于上述的多种语言 conda 包和环境管理器包含于 Anaconda 的所有版本当中
pip
pip 是用于安装和管理软件包的包管理器
pip 编写语言:Python
Python 中默认安装的版本: python2.7.9 及后续版本:默认安装,命令为 pip python3.4 及后续版本:默认安装,命令为 pip3
1 | # 下载离线安装包 |
virtualenv
virtualenv:用于创建一个独立的 Python 环境的工具
virtualenv 将会为自己的安装目录创建一个环境,这并不与其他 virtualenv 环境共享库;同时也可以选择性不连接已安装的安全库。
pip 与 conda 比较
- 依赖项检查
pip: 不一定会展示所需其他的依赖包; 安装包时或许会直接忽略依赖项而安装,尽在结果中提示错误。
conda:列出所需其他依赖包;安装包时自动安装其他依赖项;可以便捷的在包的不同版本中自由切换。 - 环境管理
pip:维护多个环境难度较大
conda:比较方便的在不同环境之间进行切换,环境管理较为简单。 - 对系统自带 python 的影响
pip:在系统自带 python 中包的更新、回滚、卸载将影响其他程序
conda:不会影响系统自带 python - 适用语言
pip:仅适用于 python
conda:适用与 python、r、ruby、lua、scala、java、javascript、c、c++、fortran - conda 与 pip、virtualenv 的关系
conda 结合了 pip 和 virtualenv 的功能
Anaconda 的使用平台及安装条件
适用平台
anaconda 可以在一下系统平台中安装和使用:
- windowx
- macos
- linux(x86/Power8)
安装条件
系统要求:32 位或 64 位系统均可
下载文件大小:约 800M
所需空间大小:3GB 空间大小(Miniconda 仅需 400MB 空间)
Anaconda 的安装步骤
- linux环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17wget https://repo.anaconda.com/archive/Anaconda2-5.2.0-Linux-x86_64.sh
sh Anaconda2-5.2.0-Linux-x86_64.sh
# 第一个交互式选项:阅读许可证协议 空格或回车
# 阅读完后,输入: yes 同一许可
# 第二次提示输入: 可以自定义路径或者使用默认安装路径
# 注意: 需要将 conda/activate 命令软连接至/usr/bin/
# 验证安装是否成功的方法:
conda list
anaconda-nagvigator
# 国外镜像网站,由于网络连接不上时可以添加国内镜像地址
# 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 --set show_channel_urls yes
管理 conda
1 | 验证 conda 已被安装 |
管理环境
-
创建新环境
1
2
3
4
5
6
7conda create --name <env_name> <package_names> # --name 可以使用 -n 简写
# <env_name> 即创建的环境名,建议以英文命名,切不加空格,名称两边不加尖括号
# <package_names> 即安装在环境中的包名。名称两边不加尖括号
# 安装指定的版本号,只需要在报名后面以 = 和版本好的形式执行。例如下:
conda creata -n python3 python3.5 numpy pandas
# 创建一个名为 python3 的环境,环境中安装版本为 python3.5,同时也安装了 numpy 和 pandas。提示:默认情况下,新创建的环境将会被保存在当前安装路径下的 envs 目录下,以环境命名的目录
-
切换环境
1
2
3
4
5
6
7
8# 启动虚拟环境
source activate <env_name>
# windows 系统
# activate <env_name>
# 关闭虚拟环境
source deactivate
# windows 系统
# deactivate提示:创建环境时未指定python的版本,将会安装与anaconda版本相同的python版本。 当成功切换环境之后,在该行行首将以 env_name 开头
-
显示已创建环境
1
2
3conda info --envs
# conda info -e
# conda env list -
复制环境
1
conda create --name <new_env_name> --clone <copied_env_name>
-
删除环境
1
conda remove --name <env_name> --all
管理包
查找可安装的包版本
- 精确查找
1 | conda search --full-name <package_full_name> |
- 模糊查找
1 | conda search <text> # text 是包含有此字段的包名 |
获取当前环境中已安装的包信息
1 | conda list |
安装包
在指定环境中安装包
1 | conda list |
在当前环境中安装包
1 | conda isntall <package_name> # package_name: 安装的包名 |
卸载包
卸载指定环境中的包
1 | conda remove --name <env_name> <package_name> |
卸载当前环境的包
1 | conda remove <package_name> # package_name: 卸载的包名 |
更新包
更新所有包
1 | conda update --all # conda upgrade --all |
更新指定包
1 | conda update <package_name> # package_name: 需要升级的包,默认升级到最新版本 |
-
2021-03-05
使用 pip 管理项目第三方库
-
2020-07-14
编写 python 代码最值得推荐的编辑器。内置丰富的功能,能满足日常的代码编写。
-
2020-03-05
个人比较喜欢的一个代码编辑器。
-
2023-01-10
JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。