什么是conda
?
AI
的回复是这样的:
Conda
是一个流行的开源软件包管理系统和环境管理系统,用于安装和管理软件包以及创建和管理虚拟环境。它可以在Linux、macOS和Windows等多个操作系统上使用。Conda
可以用于安装Python及其各种库和框架,例如NumPy、Pandas、TensorFlow、PyTorch等。
Conda
可以轻松地创建和管理虚拟环境,这对于在不同项目之间切换和管理依赖项非常有用。虚拟环境可以隔离不同项目的依赖项,避免版本冲突和其他问题。Conda还可以管理多个Python版本和其它语言的环境,例如R、Julia等。
Conda
还可以用于安装和管理非Python软件包,例如C++编译器、CUDA和cuDNN等。这使得Conda成为一种非常强大的工具,特别是在数据科学、机器学习和深度学习领域。
我们简而言之就是一个包管理工具,跟pip
、npm
等差不多的工具。
但是还是有一些区别的
Conda和Pip都是用于管理Python软件包的工具,但它们有一些重要的区别:
软件包来源:
Pip
:Pip是Python的包管理器,主要用于安装Python软件包。Pip从Python Package Index (PyPI) 上下载和安装软件包。Conda
:Conda是一个通用的包管理器,不仅可以管理Python软件包,还可以管理其他语言的软件包,例如R、Julia等。Conda默认从Anaconda仓库或者Conda Forge等渠道下载软件包,而不仅仅局限于PyPI。环境管理:
Pip
:Pip主要用于安装Python软件包,但它并不提供直接的虚拟环境管理功能。虚拟环境通常需要使用Python自带的venv模块或者第三方工具如virtualenv。Conda
:Conda可以创建和管理虚拟环境,这使得它更加灵活,能够隔离不同项目的依赖项,避免版本冲突和其他问题。跨平台性:
Pip
:Pip是Python的包管理器,因此它主要适用于Python环境。Conda
:Conda是一个通用的包管理器,可以在不同的操作系统上使用,并且可以管理多种语言的软件包。综上所述,Pip更适合于纯Python软件包的管理,而Conda则更适合于跨语言、跨平台的软件包管理和环境管理。在数据科学、机器学习和深度学习等领域,通常会同时使用Pip和Conda来满足不同的需求。
想要使用Conda,必须先了解一下什么是Anaconda
Anaconda
是一个数据科学和机器学习的开源发行版,它包含了Conda
、Python
解释器以及大量的常用数据科学和机器学习库。Anaconda
发行版可以方便地安装在计算机上,提供了一个预先配置好的数据科学工具集合。Anaconda
还包含了一个名为Anaconda Navigator
的图形用户界面,用于管理虚拟环境、安装软件包等。Anaconda
中包含了Conda
,因此可以使用Conda
来管理软件包和环境。
这里你就当作Anaconda
是Conda
的载体就行了。
我们经常运行我们的python程序时,总会碰到python
版本的不正确的问题,但是重新安装python
版本费时费力,所以我们使用Conda
就会简单很多。
创建指定python版本的环境
conda create -n my_env python=3.7 -y
my_env
表示环境名称
创建带有特定包的环境
便创建环境边安装包:
conda create -n my_env scipy=0.17.3 -y
或者创建后指定环境安装:
conda create -n my_env python
conda install -n my_env scipy=0.17.3
查看已安装环境
conda env list
## 或者
conda info --envs
激活与退出环境
激活环境
conda activate my_env
退出现在激活的环境:
conda deactivate
升级某个包直接执行:
conda update <package_name> -y
## 指定某个环境
conda update -n my_env<package_name> -y
##例如
conda update -n sci_env scipy -y ## sci_env为存在的某个环境
conda create --name new_env_name --clone old_env_name
# new_env_name 为新环境的名称
# old_env_name 为被克隆的环境名称
conda remove -n env_name --all -y
或者
conda env remove --name env_name -y
conda常用命令