conda和pip的区别
首先明确一下conda和pip的区别
处理依赖:
Pip通过 requirements.txt 文件管理依赖,但对于复杂依赖关系处理相对简单,可能会导致依赖冲突。
Conda有更强的依赖解析能力,可以确保安装的包和依赖之间的兼容性。使用 environment.yml 文件来定义环境及其依赖。
包源:
Pip默认从 PyPI(Python Package Index)获取包。,也可以通过指定源(如私有源或其他公共源)安装包。
Conda默认从 Anaconda Repository 获取包,也可以使用 conda-forge 等其他渠道。
包含预编译的二进制文件,安装速度通常更快。但是可能不会包含特别多的版本。
总体来说,Pip适用于大多数纯 Python 项目,特别是不涉及复杂依赖的项目。
而Conda适用于需要管理复杂依赖的项目。
常用的对虚拟环境操作总结如下:
一、创建虚拟环境
conda create --name env_name
conda create --name env_name python=3.5 # 创建指定python版本
conda create --name env_name python=3.5 numpy scipy # 创建指定python版本下包含某些包
二、激活/进入某个虚拟环境
conda activate env_name
三、退出当前环境
conda deactivate env_name
四、复制虚拟环境
conda create --name new_env_name --clone old_env_name
五、删除虚拟环境
conda remove --name env_name --all
六、查看当前所有环境
conda info --envs
#或者
conda env list
七、查看当前虚拟环境下所有安装包
pip list
conda list # 需进入该虚拟环境
conda list -n env_name
八、安装或卸载包(进虚拟环境后)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
conda install xxx
conda install xxx=版本号 # 指定版本号
conda install xxx -i 源名称或链接 # 指定下载源
conda uninstall xxx
九、分享&移植虚拟环境
conda env export > environment.yml # 导出当前虚拟环境
conda env create -f environment.yml # 创建保存的虚拟环境
将当前虚拟环境打包后移植另一台计算机
pip install conda-pack # 首先安装conda-pack
conda pack -n envname # 打包原环境
恢复环境的时候,无论以何种方法,把该压缩包解压在annaconda/envs目录下,就能conda env list检测到当前环境,即可恢复环境。
windows下直接解压到对应文件夹就行了
根据requirement.txt文件安装
首先cd该文件的目录下,以及想安装的虚拟环境下
pip install -r ./requirements.txt
十、源服务器管理
conda当前的源设置在$HOME/.condarc中,
可通过文本查看器查看或者使用命令>conda config --show-sources查看。
conda config --show-sources #查看当前使用源
conda config --remove channels 源名称或链接 #删除指定源
conda config --add channels 源名称或链接 #添加指定源
例如:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
国内pip源
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
十一、升级
升级Anaconda需先升级conda
conda update conda
conda update anaconda
十二、重命名
可以直接找到文件夹修改名称
也可以通过复制虚拟环境
十三、卸载
rm -rf anaconda
十四、批量导出虚拟环境中的所有组件
conda
conda list -e > requirements.txt # 导出
conda install --yes --file requirements.txt # 安装
pip
pip freeze > requirements.txt
pip install -r requirements.txt