python3 venv 虚拟环境 Conda与Python_venv虚拟环境的

python3 venv 虚拟环境 Conda与Python?venv虚拟环境的

目录
  • 前言
  • 一、Conda 与 Pythonvenv的核心区别
    • 1. Conda 的特点
    • 2. Pythonvenv的特点
  • 二、Conda 虚拟环境的使用技巧
    • 1. 安装 Conda
    • 2. 创建虚拟环境
    • 3. 激活虚拟环境
    • 4. 安装包
    • 5. 查看环境列表
    • 6. 退出虚拟环境
    • 7. 删除虚拟环境
  • 三、Pythonvenv虚拟环境的使用技巧
    • 1. 确保 Python 已安装
    • 2. 创建虚拟环境
    • 3. 激活虚拟环境
    • 4. 安装包
    • 5. 查看已安装包
    • 6. 退出虚拟环境
    • 7. 删除虚拟环境
  • 四、实际案例:创建并使用虚拟环境
    • 1. 使用 Conda
    • 2. 使用 Pythonvenv
  • 五、选择 Conda 还是venv?
    • 1. 选择 Conda 的场景
    • 2. 选择venv的场景
    • 3. 混合使用
  • 六、常见难题与解决技巧
    • 1. Conda 环境未出现在conda env list
    • 2.venv环境未激活或路径错误
    • 3. 包安装冲突
  • 七、拓展资料

    前言

    在 Python 开发中,虚拟环境是隔离项目依赖、避免冲突的重要工具。常用的虚拟环境管理工具有 Conda 和 Python 自带的venv模块。这篇文章小编将详细介绍这两种工具的区别、优缺点,以及怎样使用它们创建和管理虚拟环境。

    一、Conda 与 Pythonvenv的核心区别

    Conda 和 Pythonvenv都是用于创建 Python 虚拟环境的工具,但它们的设计理念、功能和使用场景有显著差异。下面内容是两者的核心区别:

    特性 Conda Pythonvenv
    类型 包管理和环境管理工具,支持多种语言(Python、R、Julia 等) Python 标准库模块,仅用于 Python 虚拟环境
    环境存储位置 统一存储在 Conda 安装目录(例如~/anaconda3/envs/ 存储在用户指定的目录(通常为项目目录下的文件夹,如./venv
    依赖管理 使用conda命令管理包,支持 Conda 和 PyPI 源,依赖解析更强 使用pip管理包,仅支持 PyPI 源,依赖解析依赖 pip
    Python 版本管理 支持安装和管理不同版本的 Python(如conda create -n env python=3.10 使用体系当前 Python 版本,无法独立管理 Python 版本
    跨平台支持 跨平台(Linux、macOS、Windows),一致的命令和体验 跨平台,但激活命令在 Windows 和 Linux/macOS 上不同
    安装方式 需要安装 Anaconda/Miniconda,占用空间较大 Python 内置,无需额外安装,轻量级
    性能与隔离性 环境隔离更彻底,可管理非 Python 依赖(如 C 库) 轻量级隔离,仅限于 Python 和 pip 安装的包
    适用场景 数据科学、机器进修、需要管理复杂依赖或多语言环境 轻量级 Python 项目,简单隔离依赖

    1. Conda 的特点

    • 多语言支持:Conda 不局限于 Python,可以管理 R、Julia 等语言的环境。
    • 强大的依赖管理:Conda 使用自己的包管理体系,能处理复杂的依赖关系(如 C 库、GPU 驱动等)。
    • 统一存储:所有环境存储在 Conda 的envs目录下,便于集中管理。
    • Python 版本灵活:可以为每个环境指定不同的 Python 版本,无需依赖体系 Python。
    • 安装要求:需要安装 Anaconda 或 Miniconda,安装包较大(Anaconda 约几 GB,Miniconda 较小)。

    2. Pythonvenv的特点

    • 轻量级:内置于 Python 3.3+,无需额外安装,占用空间小。
    • 项目本地化:虚拟环境存储在项目目录下,便于与项目绑定,易于迁移。
    • 简单直接:仅管理 Python 和 pip 安装的包,适合简单的 Python 项目。
    • 局限性:无法独立管理 Python 版本(依赖体系 Python),对非 Python 依赖支持有限。

    二、Conda 虚拟环境的使用技巧

    Conda 是 Anaconda 或 Miniconda 提供的环境管理工具,适合数据科学、机器进修等需要复杂依赖的场景。下面内容是 Conda 创建和管理虚拟环境的步骤。

    1. 安装 Conda

    • 下载并安装 Miniconda(轻量版)或 Anaconda(完整版):
      • Miniconda:https://docs.conda.io/en/latest/miniconda.html
      • Anaconda:https://www.anaconda.com/products/distribution
    • 安装完成后,验证 Conda 是否可用:

      conda –version

    2. 创建虚拟环境

    使用conda create命令创建环境,指定环境名称和 Python 版本:

    conda create -n myenv python=3.10

    • -n myenv:指定环境名称为myenv
    • python=3.10:指定 Python 版本为 3.10。
    • 默认情况下,Conda 会提示确认安装包。若需自动确认,加-y

      conda create -n myenv python=3.10 -y

    创建后,环境存储在~/anaconda3/envs/myenv(或 Miniconda 的对应路径)。

    3. 激活虚拟环境

    激活环境以使用其中的 Python 和包:

    conda activate myenv

    激活后,终端提示符会变为(myenv),表示已进入该环境。

    4. 安装包

    在激活的环境中,可以使用conda installpip install安装包:

    conda install numpy pandaspip install requests

    • Conda 优先从 Conda 源安装包,适合需要 C 库的包(如numpy)。
    • 如果 Conda 源没有目标包,可用pip从 PyPI 安装。

    5. 查看环境列表

    列出所有 Conda 环境:

    conda env list

    输出示例:

    conda environments:base /home/user/anaconda3myenv /home/user/anaconda3/envs/myenv

    6. 退出虚拟环境

    退出当前环境,回到base或体系环境:

    conda deactivate

    7. 删除虚拟环境

    删除指定环境及其所有包:

    conda env remove -n myenv

    三、Pythonvenv虚拟环境的使用技巧

    Python 的venv模块是标准库的一部分,适合轻量级项目或只需要隔离 Python 包的场景。下面内容是使用venv的步骤。

    1. 确保 Python 已安装

    venv依赖体系 Python,检查 Python 版本(需 3.3+):

    python3 –version

    2. 创建虚拟环境

    使用python -m venv创建环境,指定环境目录:

    python3 -m venv myvenv

    • myvenv:虚拟环境目录名,创建后会在当前目录生成myvenv文件夹。
    • 环境使用当前体系 Python 版本,无法独立指定其他版本。

    3. 激活虚拟环境

    激活环境以使用其中的 Python 和 pip:

    • Linux/macOS

      source myvenv/bin/activate

    • Windows

      myvenvScriptsactivate

    激活后,终端提示符会变为(myvenv),表示已进入虚拟环境。

    4. 安装包

    在激活的环境中,使用pip安装包:

    pip install requests numpy

    所有包存储在myvenv/lib/目录下,与体系环境隔离。

    5. 查看已安装包

    检查当前环境中的包:

    pip list

    6. 退出虚拟环境

    退出虚拟环境,回到体系环境:

    deactivate

    7. 删除虚拟环境

    直接删除虚拟环境目录即可:

    rm -rf myvenv

    四、实际案例:创建并使用虚拟环境

    下面内容一个实际案例,展示怎样用 Conda 和venv分别创建环境并安装requests包。

    1. 使用 Conda

    创建环境conda create -n myenv python=3.10 -y 激活环境conda activate myenv 安装包conda install requests 检查 Python 版本和包python –versionpip list 退出环境conda deactivate

    2. 使用 Pythonvenv

    创建环境python3 -m venv myvenv 激活环境source myvenv/bin/activate Linux/macOS 或 myvenvScriptsactivate Windows 安装包pip install requests 检查 Python 版本和包python –versionpip list 退出环境deactivate

    五、选择 Conda 还是venv?

    1. 选择 Conda 的场景

    • 需要管理多个 Python 版本(例如 3.7、3.8、3.10)。
    • 项目依赖复杂的非 Python 库(如 TensorFlow、PyTorch 的 GPU 版本)。
    • 从事数据科学、机器进修或需要 Anaconda 生态体系的项目。
    • 希望统一管理所有环境,便于查看和维护。

    2. 选择venv的场景

    • 项目简单,仅需隔离 Python 包(如 Web 开发)。
    • 不想安装额外的 Conda 软件,追求轻量级。
    • 希望虚拟环境与项目目录绑定,便于迁移。
    • 体系已安装合适的 Python 版本,无需额外管理。

    3. 混合使用

    在某些情况下,可以混合使用 Conda 和venv

    • 在 Conda 环境中使用venv:先激活 Conda 环境,再创建venv环境,用于隔离特定项目的 pip 包。
    • venv中使用 Conda 包:不推荐,由于venv无法利用 Conda 的依赖解析能力,可能导致冲突。

    六、常见难题与解决技巧

    1. Conda 环境未出现在conda env list

    • 缘故:可能创建失败(磁盘空间不足、权限难题)或使用了venv而非 Conda。
    • 解决:检查~/anaconda3/envs/目录,清理 Conda 缓存(conda clean --all),重试创建。

    2.venv环境未激活或路径错误

    • 缘故:激活命令错误(Linux/macOS 用source,Windows 用Scriptsactivate)。
    • 解决:确保使用正确的激活命令,检查myvenv/bin/myvenvScripts是否存在。

    3. 包安装冲突

    • Conda:优先用conda install,若失败尝试pip install,但注意可能导致依赖冲突。
    • venv:确保pip指向虚拟环境的版本(which pip应指向myvenv/bin/pip)。

    七、拓展资料

    Conda 和 Pythonvenv都是强大的虚拟环境工具,适用于不同场景:

    • Conda适合复杂项目、数据科学和多语言环境,提供强大的依赖管理和 Python 版本控制。
    • Pythonvenv适合轻量级项目,简单易用,内置于 Python,无需额外安装。

    根据项目需求选择合适的工具,并熟练掌握创建、激活、安装包和删除环境的操作,能显著进步开发效率和项目可维护性。

    到此这篇关于Conda与Pythonvenv虚拟环境的区别与使用技巧的文章就介绍到这了,更多相关Conda与Pythonvenv虚拟环境内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    无论兄弟们可能感兴趣的文章:

    • 使用pycharm+conda配置虚拟环境的详细步骤
    • pycharm?使用conda虚拟环境的详细配置经过
    • Pycharm中配置使用Anaconda的虚拟环境进行项目开发的图文教程
    • pycharm配置Anaconda虚拟环境全经过
    版权声明

    返回顶部