conda&pip&pip3&virtualenv
commands-conda documentationIf you have used pip and virtualenv in the past, you can use conda to perform all of the same operations. Pip is a package manager and virtualenv is an environment manager.
If you have used pip and virtualenv in the past, you can use conda to perform all of the same operations. Pip is a package manager and virtualenv is an environment manager. conda is both.
Scroll to the right to see the entire table.
|
Task |
Conda package and environment manager command |
Pip package manager command |
Virtualenv environment manager command |
|---|---|---|---|
|
Install a package |
|
|
X |
|
Update a package |
|
|
X |
|
Update package manager |
|
Linux/macOS: |
X |
|
Uninstall a package |
|
|
X |
|
Create an environment |
|
X |
|
|
Activate an environment |
|
X |
|
|
Deactivate an environment |
|
X |
|
|
Search available packages |
|
|
X |
|
Install package from specific source |
|
|
X |
|
List installed packages |
|
|
X |
|
Create requirements file |
|
|
X |
|
List all environments |
|
X |
Install virtualenv wrapper, then |
|
Install other package manager |
|
|
X |
|
Install Python |
|
X |
X |
|
Update Python |
|
X |
X |
conda&pip
一定一定养成多看官网documentation的习惯!!
conda documentation:
Conda Documentation — conda 25.3.1 documentation
pip documentation:
| conda | pip | |
| 主要用途 | 跨平台的环境和包管理(支持非Python包) | Python 包安装和管理 |
| 语言支持 | 支持多种语言(python,C++,R等) | 仅限 Python |
| 默认渠道 | Anaconda仓库(defaults) |
PyPI (Python Package Index) |
| 其他渠道 | conda-forge、bioconda等 |
可指定其他索引(如私有仓库) |
| 安装速度 | 较慢(依赖解析复杂) | 较快(轻量级) |
| 环境隔离 | 内置(conda create -n env_name) |
依赖 venv 或 virtualenv |
| 创建环境 | conda create -n my_env python=3.8 | python -m venv my_env + pip install |
| 导出环境 | conda env export > environment.yaml | pip freeze > requirements.txt |
1,conda和pip都支持多种操作系统(Linux,maxOS,Windows)
2,conda安装的python和系统的python的区别?
在Linux或macOS系统中 :
(1)系统Python通常由系统包管理器安装,路径为/usr/bin/python3或 /usr/local/bin/python3,属于系统级环境,修改或删除可能影响系统工具。
(2)Conda Python安装在conda环境目录下(如~/miniconda3/envs/my_env/bin/python)。完全独立于系统Python,每个conda环境有独立的Python和库,避免冲突。
Windows系统默认不预装Python,除非主动安装或通过某些工具。
3,conda channel默认是defaults,但默认软件包不太全,所以可以选择使用conda-forge
conda-forge is a community effort that provides conda packages for a wide range of software.
conda-forge documentation:
A brief introduction | conda-forge | community-driven packaging for conda
4,安装包的时候使用pip还是conda?
在安装Python包时,pip和conda可以混用,但需要谨慎操作,以避免环境冲突
混用的潜在风险
-
依赖冲突:
Conda和pip的依赖解析机制不同,混用可能导致:-
同一包被重复安装(不同版本)。
-
依赖树不一致,引发运行时错误。
-
-
环境破坏:
某些包在Conda中是特制的(如mkl优化的NumPy),用pip覆盖后可能导致性能下降或崩溃。 -
难以复现:
混合安装会使环境难以通过conda list或pip freeze完整记录
使用建议:
- 优先使用Conda:尤其是科学计算包(如NumPy、Pandas),Conda通常会提供预编译的优化版本
- 仅在必要时用pip:当包不在Conda仓库中(如某些小众库),再用pip
如果混用后出现问题:
首先检查冲突:
conda list
pip list
查看是否有同一包的多个版本。
然后重新安装:
用Conda重新安装被pip修改的核心包:
conda install --force-reinstall numpy
5,在使用pip和conda命令时,经常用到的镜像源是怎么回事?
- 在使用
pip install package -i 镜像源时,镜像源是第三方服务器对 PyPI(Python Package Index)的完整或部分拷贝,通常位于地理位置更近或网络条件更好的服务器上,避免直接从官方 PyPI(可能位于国外)下载导致的网络延迟。 -i或--index-url参数显式指定 pip 使用的包索引地址(即镜像源 URL)- Conda 同样支持使用镜像源,如:
conda install numpy -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
-c 参数指定包的来源通道(镜像源地址)
- Conda 会按 channels 列表顺序搜索包,可以将镜像源通道放在首位
#查看当前通道顺序
conda config --show channels
'''
输出可能是:
channels:
- defaults
- conda-forge'''
# 修改通道顺序(将镜像源置顶)
# 清空现有通道
conda config --remove-key channels
# 按优先级顺序添加(镜像源优先)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels conda-forge # 其他通道
#验证通道顺序
conda config --show channels
'''channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- conda-forge
- defaults'''
pip&pip3
pip 和 pip3 都是 Python 的包管理工具,用于安装和管理第三方库。它们的区别主要与 Python 的版本相关:
1. Python 版本对应关系
-
pip:通常关联到系统默认的 Python 版本。如果系统默认是 Python 2,pip会安装 Python 2 的包;如果默认是 Python 3,则安装 Python 3 的包。 -
pip3:明确指定用于 Python 3,无论系统默认版本是什么,它只会安装 Python 3 的包。
2. 使用场景
-
在 Python 2 和 Python 3 共存的系统中:
-
pip可能指向 Python 2(取决于系统配置)。 -
pip3明确指向 Python 3。
-
-
在 只有 Python 3 的系统中:
-
pip和pip3通常是等价的(都指向 Python 3)。
-
3. 现代系统的实际情况
-
自 2020 年 Python 2 官方支持终止后,大多数系统已不再预装 Python 2。此时
pip和pip3通常指向相同的 Python 3 环境。 -
通过
python -m pip或python3 -m pip可以更精确地指定 Python 解释器对应的 pip。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)