在 Python 环境管理和包管理中,conda 和 pip 是两种最常见的工具。了解它们之间的区别和联系,并掌握常用的使用命令和配置源,可以帮助我们更高效地管理 Python 环境和安装包。
conda 与 pip 的区别和联系
区别
-
包管理范围:
- conda:不仅管理 Python 包,还能管理其他语言的包(如 R),以及环境本身(包括 Python 解释器)。
- pip:主要管理 Python 包,只能安装 Python 包。
-
环境管理:
- conda:自带环境管理功能,可以创建、克隆和删除虚拟环境。
- pip:依赖
virtualenv
或venv
来管理虚拟环境。
-
包源:
- conda:默认使用 Anaconda 仓库(
repo.anaconda.com
),可以通过配置使用其他源(如 conda-forge)。 - pip:默认使用 Python 官方包仓库(PyPI),可以通过配置使用国内镜像源。
- conda:默认使用 Anaconda 仓库(
联系
- Python 包管理:两者都可以用于安装 Python 包,有时可以互相配合使用(例如,在 conda 环境中使用 pip 安装特定包)。
- 命令行工具:两者都是命令行工具,需要在终端中输入命令来执行操作。
常见使用命令
conda 常用命令
-
安装包:
conda install package_name
-
更新包:
conda update package_name
-
卸载包:
conda remove package_name
-
创建环境:
conda create --name env_name # --name可以简写为-n
-
激活环境:
conda activate env_name
-
删除环境:
conda remove --name env_name --all
pip 常用命令
- 安装包:
pip install package_name
- 更新包:
pip install --upgrade package_name
- 卸载包:
pip uninstall package_name
- 列出已安装的包:
pip list
- 查看包信息:
pip show package_name
常用配置源
在国内,由于网络原因,使用官方源速度较慢。可以通过配置国内镜像源来加速包的安装和更新。
conda 配置国内镜像源
-
清华大学镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
-
中科大镜像源:
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
pip 配置国内镜像源
-
阿里云镜像源:
pip install package_name -i https://mirrors.aliyun.com/pypi/simple/
-
清华大学镜像源:
pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple/
-
中国科学技术大学镜像源:
pip install package_name -i https://pypi.mirrors.ustc.edu.cn/simple/