首页 > 编程语言 >Python虚拟环境conda的安装使用

Python虚拟环境conda的安装使用

时间:2024-03-23 19:33:28浏览次数:30  
标签:venv Python 环境 虚拟环境 conda 安装

文章目录

conda虚拟环境的详细步骤和注意事项:

当然,以下是使用conda而非venv管理Python虚拟环境的详细步骤和注意事项:

安装Conda

首先,你需要安装Anaconda或Miniconda,它们都包含了conda包管理器以及基础的科学计算库。选择其中一个:

  • Anaconda:包含了大量的科学计算、数据分析相关的库,适合数据科学和机器学习项目,下载大小较大。
  • Miniconda:仅包含conda及其基本依赖,初始安装较小,适用于对存储空间有要求或只需要conda环境管理功能的用户。

访问以下网址下载对应操作系统的安装包:

下载后,按照安装向导进行安装,确保在安装过程中勾选将conda添加到系统PATH(默认通常会勾选)。

创建Conda虚拟环境

在命令行中,使用以下命令创建一个名为myenv的新虚拟环境,指定Python版本(例如Python 3.8):

conda create --name myenv python=3.8

激活Conda虚拟环境

激活创建好的虚拟环境:

conda activate myenv

激活后,命令行提示符会显示当前活动环境的名称(如(myenv)),表示你现在处于该虚拟环境中。

安装Python包

在激活的环境中,使用condapip安装所需的Python包。例如,安装numpypandas

conda install numpy pandas

或者使用pip(在conda环境中,pip会与conda兼容):

pip install numpy pandas

管理Conda环境

除了创建和激活环境,conda还提供了丰富的环境管理功能:

  • 列出所有环境

    conda env list
    
  • 删除环境

    conda remove --name myenv --all
    
  • 克隆环境

    conda create --name myenv_copy --clone myenv
    
  • 导出环境配置

    conda env export > environment.yml
    
  • 从配置文件创建环境

    conda env create -f environment.yml
    

其他优势与特性

相较于venv,使用conda管理虚拟环境有以下优势:

  • 跨平台兼容:conda环境可以在不同的操作系统(Windows、macOS、Linux)之间无缝迁移。
  • 更广泛的包支持:除了Python包,conda还可以管理非Python软件包(如R语言包、C/C++库等),特别适合多语言项目和涉及科学计算、数据分析的场景。
  • 环境隔离性更好:conda环境不仅隔离Python包,还隔离了二进制依赖和编译工具链,避免了不同环境间因系统库版本冲突导致的问题。
  • 包版本管理:conda允许指定包的精确版本或版本范围,更容易管理复杂的依赖关系和实现环境的复现。
  • 环境切换方便conda activateconda deactivate命令使得环境切换更为直观和快捷。

综上所述,使用conda管理Python虚拟环境提供了更全面的管理功能、更广泛的包支持以及更好的环境隔离性,尤其适合需要处理复杂依赖关系、跨平台工作或涉及多种编程语言的项目。

conda与venv在性能、资源占用等方面的对比
condavenv 在性能、资源占用等方面存在一些差异,这些差异主要源于它们的设计理念、功能集以及对软件包管理方式的不同。以下是对二者在这方面的对比:

性能

venv

  • 创建和激活虚拟环境通常非常快速,特别是在处理纯Python项目时。
  • 依赖解析和安装主要通过 pip 进行,对于大部分常见的Python包,安装速度和效率通常可以接受。

conda

  • 创建虚拟环境的速度通常与 venv 相近,但在处理包含大量依赖或复杂依赖关系的项目时,由于其依赖解析算法更为复杂,可能会比 venv 慢一些。
  • 安装包时,conda不仅处理Python包,还可能包括非Python组件(如C库、编译器等),因此安装大型科学计算或数据分析包时,可能会比仅使用 pipvenv 稍慢,尤其是当需要从源代码编译时。

资源占用

venv

  • 创建的虚拟环境相对较小,因为它只包含Python解释器、必要的标准库以及项目所需的第三方Python包。
  • 占用磁盘空间和内存较少,适合轻量级项目或资源有限的环境。

conda

  • 由于conda设计为能够管理多语言环境和复杂的软件栈,其环境通常比 venv 更大。
  • 安装Anaconda发行版时,会预装大量的科学计算和数据分析库,这会显著增加初始安装的磁盘占用。
  • 即使使用Miniconda,由于其管理的环境包含完整的依赖链(包括可能的编译工具链),总体资源占用通常仍高于 venv

其他性能与资源相关因素

  • 环境隔离性conda 提供了更强的环境隔离,包括二进制依赖和编译工具链,这有助于避免因系统库版本冲突导致的问题,但这也意味着每个环境可能需要复制更多的系统资源。
  • 包缓存:两者都支持包缓存,减少重复下载带来的网络开销。不过,conda 的包缓存可能更大,因为它不仅缓存Python包,还缓存非Python组件。
  • 依赖解析算法conda 的依赖解析算法在处理复杂依赖关系和解决版本冲突方面更为强大,虽然可能在安装时带来一些性能开销,但长期来看有助于维护稳定的项目环境。

结论

在性能和资源占用方面,venv 通常更适合轻量级项目、纯Python应用以及对资源敏感的场景,其简单快速的特点使得环境创建和管理更为高效。而 conda 虽然资源占用稍大,安装速度可能稍慢,但它提供的强大环境管理能力、广泛的包支持(包括非Python软件包)以及优秀的依赖解析机制,使其成为处理复杂项目、多语言环境以及涉及科学计算、数据分析工作的首选工具。

选择哪一种工具应根据实际项目需求、团队习惯以及对环境管理复杂度的接受程度来决定。在资源充足且需要高级环境管理功能的场景下,牺牲一定的资源和时间换取 conda 的便利性和稳定性通常是值得的。而在资源有限或项目需求简单的场合,venv 的轻量化特性可能更具吸引力。

python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)

50个开发必备的Python经典脚本(11-20)

50个开发必备的Python经典脚本(21-30)

50个开发必备的Python经典脚本(31-40)

50个开发必备的Python经典脚本(41-50)
————————————————

​最后我们放松一下眼睛
在这里插入图片描述

标签:venv,Python,环境,虚拟环境,conda,安装
From: https://blog.csdn.net/qqrrjj2011/article/details/136972607

相关文章

  • 2024华为OD统一考试(C卷)最新题库(Java & Python & C++)
    关于华为OD​华为的员工补充途径有三种,分别是校招、OD转正和社招。校招是华为唯一的正式员工入职途径,但是从近几届开始竞争非常激烈,尤其是在CV、AI、NLP等赛道上,所以对于C9等专业的学生来说,可以考虑转向一些冷门方向。​OD转正是指在华为工作满一年之后,可以根据部门OD......
  • python小白学习笔记Mac版本
    和win系统的不同之处python的cmd验证在win系统中,只需要输入python就可以得到相关python的版本信息但是在mac系统中,需要输入python3.12(3.12是具体版本的号码)只输入python和pip也显示找不到相关文件(已经成功的安装前提下)只有输入第三行代码python3.12才会显示pyth......
  • python合并多个csv文件需要注意的问题(合并多个列名问题)
    问题描述起初我使用python语言合并多个csv文件时,存在这几个csv文件有不止一个列名相同,仅仅依靠一个列名内容进行合并;就很容易造成相同列名对应相同内容分别占据了两个列,感官极为不好,还会影响到后面的数据清洗;问题解决#在on的这里加一个中括号,这样就能够同时包括多个列名,依据......
  • 使用python登录boss 并自动投递简历打招呼
    使用的是selenium4的和3的版本语法有点出入但是大差不差暂时还没有完善会持续更新fromseleniumimportwebdriverimporttimefromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supp......
  • Python机器学习笔记:CART算法实战
    完整代码及其数据,请移步小编的GitHub传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote前言在python机器学习笔记:深入学习决策树算法原理一文中我们提到了决策树里的ID3算法,C4.5算法,并且大概的了解了CART算法。对于ID3算法的实战可......
  • 【Python学习】——函数进阶
    零、函数基础在之前的文章里:【Python学习】——基础语法一、多返回值deftest_return():    return1,2x,y=test_return()print(x) #结果1print(y) #结果2按照返回值的顺序,写对应顺序的多个变量接受即可变量之间用逗号隔开支持不同类型的数据return......
  • 【python】写一个从指定路径读取xlsx的函数
    定义了一个名为read_xlsx的函数,从指定的路径(如果提供了路径)读取一个Excel文件并将其内容转换为pandas的DataFrame对象。#-*-coding:utf-8-*-#@Author:author_name#@Time:2024/3/2018:00importpandasaspddefread_xlsx(file_name,pat......
  • 十年老码农告诉你为何要从现在开始学Python
    前言最近许多小伙伴都很迷茫,就业市场环境低迷,自己没有傍身的一技之长,想学编程但是又被编程的难度吓退,经常是三天打鱼两天晒网,最后编程学习又不了了之,一切又回到原点。大家在编程学习过程中普遍最关注两点:一是学习难度、能否坚持,二是学成之后为自己带来的收益如何。作为十年......
  • python POST推送多种数据
    python POST推送多种数据 importrequests,os,json,hashlibfromrequests.exceptionsimportTimeout#小程序数据推送defpostDataToServer(self,param1,param2,param3,param4):url='http://www.baidu.com/t1/dfgdfgsdfgsdfgsdfbdfgsdgsdfgsdfgjfhjf......
  • Python探索反距离加权空间插值方法的深度
    介绍反距离加权(IDW)是一种广泛用于地理信息系统(GIS)和环境科学的空间插值技术,用于根据附近位置的值估计任何位置的缺失值。其基本原理很直观:距离兴趣点较近的位置比距离较远的位置更相似。本文深入探讨了IDW的方法、应用、优势和局限性,深入探讨了其在空间分析中的重要......