conda
如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda 是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的Python版本,同时继续在你常规的环境中使用你常用的Python版本。
pip
pip(Pip install Packages)只适用于Python语言。
Python 2.7.9及后续版本:默认安装命令为pip
Python 3.4及后续版本:默认安装命令为pip3
关系
pip允许在任何环境中安装python包,而conda允许在conda环境中安装任何语言包(包括c语言或者python)
conda就是一个包管理和安装工具,要做比pip更多的事情,是一个更通用的软件包管理器。
conda可以让你同时管理安装处理你有关python的任务和跟python无关的任务
conda使用了一个新的包格式,pip不能安装和解析conda的包格式,因此不能交替使用pip 和conda。
conda virtualenv 和 conda pyvenv 都能在当前电脑中创建一个独立的虚拟环境,但是pyvenv只能创建当前与python版本相同的虚拟环境,所以它所含的包也是当前环境中pip安装过的包
conda install的package似乎是在anaconda\pkgs下,而pip install的package是在anaconda\Lib\site-packages下。推荐使用pip管理包(pip是python官方推荐的包管理器)
如果你在base环境,pip install的package应该就是安装在anaconda\Lib\site-packages下,然后其他虚拟环境下的使用python packages时优先搜索该虚拟环境下的package,如果没有它就搜索base环境下的package,也就是base环境下的package是可以被其他虚拟环境使用的,如果你进入其他虚拟环境下使用pip install,那么下载的包就只在这个虚拟环境中
conda常用命令
创建环境
conda create -n your_env_name python=3.7
删除环境
conda remove -n your_env_name
激活自定义的环境
source activate your_env_name
退出环境
source deactivate
conda deactivate // 或者这样
列出所有的环境
conda env list
conda info --envs // 或者这样
导出 environment.yml 文件以在 不同的平台和操作系统之间 复现项目环境,environment.yml 文件不针对特定操作系统,并且使用YAML格式。:
conda env export > environment.yml
重现环境:
conda env create -f environment.yml