Conda是什么?
- Conda 是Anaconda下用于包管理和环境管理的命令行工具,
- Conda下一切都是包,包括Python和conda自己
- Conda ≈ pip(包管理) + vitualenv(环境管理) + pyenv(py版本管理)
命令行:conda
,图形界面:Anaconda Navigator
Conda的功能
- 包管理:自动化安装、更新、卸载Python包和依赖包
- 环境管理:类似Virtualenv,解决多版本Python并存切换和不同工程环境分隔问题
Conda和pip的区别
- pip:在任何环境中安装python包
- conda:在conda环境中安装任何语言包(包括python和其他语言),和创建隔离程序环境。
*Conda环境管理
可以新建多个完全独立的Python运行环境,不同的设置,不同的Python版本,不同的包,各环境之间完全独立
环境安装在Anaconda目录下的envs目录中
- 创建一个新环境:
conda create --name py36 python=3
- 上面代码创建一个新环境,使用python3(3.6/2.7最常用),命名为py36:
- 不设python版本(默认最新版),创建带需要包的环境:
conda create --name py36data numpy matplotlib
- 创建带需要包和设定python版本的环境:
conda create --name py27data numpy matplotlib pandas python=2
- 激活此环境:
- Windows:
activate py36
- Linux/MAC:
source activate py36
- Windows:
- 检查python版本:
python --version
- 退出当前环境(退出可能导致conda失效,建议切换而非退出):
- Windows:
deactivate
- Linux/MAC:
source deactivate
- Windows:
- 删除该环境:
conda remove --name py36 --all
- 查看所有环境(系统默认环境叫
x:Anaconda3
或root
):conda info --envs
- 克隆原有环境副本:
conda create --name py362 --clone py36
- 导出环境(只导出配置文件):
conda env export --name py27 > py27.yml
- 导入环境(根据配置文件导入环境):
conda env create -f py27.yml
对比conda和virtualenv |
|||
序号 |
对比项 |
conda |
virtualenv |
1 |
安装 |
exe |
pip install virtualenv |
2 |
查看环境列表 |
conda info --evns |
workon 或者 lsvirtualenv |
3 |
创建环境 |
conda create -n c1 python=3 |
virtualenv v2 或者mkvirtualenv v2 |
4 |
进入环境 |
activate c1 |
workon v2 |
5 |
退出环境 |
deactivate |
deactivate |
6 |
当前环境的包列表 |
conda list |
pip list 或者 pip freeze |
7 |
在环境中安装包 |
conda install xxx |
pip install xxx |
8 |
在环境中卸载包 |
conda uninstall xxx 或者conda remove xxx |
pip uninstall xxx |
9 |
导出环境包列表 |
conda env export > environment.yaml |
pip freeze > packages.txt |
10 |
导入环境 |
conda env create -f environment.yaml |
pip install -r packages.txt |
11 |
从其他环境拷贝到新的环境 |
conda create --name c2 --clone c1 |
|
12 |
删除指定环境(先退出) |
conda remove --name c2 --all |
rmvirtualenv v2 |
13 |
|||
14 |
|||
15 |