什么是Python虚拟环境?

news2024/11/18 2:22:19

在这里插入图片描述

视频教程地址:https://www.bilibili.com/video/BV1Zy4y1F7hC/

大家好,这一集我们来介绍一下什么是Python虚假环境。虚拟环境是python基础知识中非常重要的一个知识点。

相信python新手都会遇到过这样的问题,在命令行中下载了某个三方库在pycharm中却依旧显示没有该三方库。或者是conda prompt下载了某个三方库在pycharm中却依旧显示没有该三方库。等等操作,其实都是因为大家对于虚拟环境没有一个清晰的认识。

这里我们先给出一个简单的验证办法,就是运行下面这行代码。他会输出你当前使用的解释器的路径,你的两个程序的结果不一样就说明你用的肯定是不同的环境。

python -c "import sys; print(sys.executable)"

首先用两句话总结一下什么是虚拟环境:

● Python的虚拟环境是一种用于隔离和管理Python项目和依赖项的工具。
● 它允许你在同一台计算机上创建多个独立的Python环境,并在这些环境中安装和运行不同版本的Python解释器以及项目所需的库和依赖项。

那么我们为什么要使用虚拟环境呢?

我们需要知道的是,我们最开始从官方网站下载了一个python解释器并且将路径添加到了环境变量,这个时候我们就可以使用这个解释器了,但这只是一个版本的python解释器。

假设现在我们有两个项目,一个要使用1.0版本的a依赖,一个要使用1.1版本的a依赖,那你怎么办?

再假设一个项目要使用python3.8,一个要使用3.11,那你怎末解决?总不能说运行一个项目就重装一下解释器,再重新下载一下三方库吧。

在现实中,我们会有很多项目,每个项目可能都有自己需要的python解释器版本,或者是三方库的版本,这个时候虚拟环境的作用就体现出来了。

虚拟环境就是为每个项目创建自己的独立环境,环境中有着该项目需要的版本的解释器和需要的版本的库和依赖项,并且多个环境之间不会相互冲突。

这对于开发多个项目,或者在同一项目中使用不同版本的库非常有用。

这样一来,你可以轻松地管理项目所需的库和依赖项,不用担心会影响其他项目。

在Python中,有多个工具可用于创建和管理虚拟环境,包括virtualenv和conda等。

● venv是Python 3自带的标准库,它提供了创建和管理虚拟环境的功能
● virtualenv是一个流行的第三方工具,可以用于Python 2和Python 3
● conda是一个跨平台的包管理器,可以管理Python以及其他语言的虚拟环境和依赖项。

总的来说,虚拟环境提供了一种有效、可隔离和可管理的方式来处理Python项目的依赖项,确保项目的环境一致性和独立性。

它们提供了更安全方便的环境,使得多个项目和不同的Python版本能够和谐共存。使用虚拟环境也是一种良好的开发实践,可以提高开发效率并减少不必要的问题。

你可以根据自己的需求选择适合的工具来创建和管理虚拟环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1082315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

graphviz 绘制红黑树

代码 digraph RedBlackTree {node [fontname"Arial", shapecircle, stylefilled, color"#ffffff", fillcolor"#ff0000", fontsize12, width0.5, height0.5];edge [fontname"Arial", fontsize10, color"#333333", arrowsize…

竞赛抢答器4路抢答器verilog,仿真视频、代码、AX301开发板

名称:数字式竞赛抢答器设计4路抢答器verilog 软件:Quartus 语言:Verilog 代码功能: 数字式竞赛抢答器设计 设计一个可容纳四组参赛者同时抢答的数字抢答器。 要求: (1)能判断第一抢答者并…

【C++初阶(一)】学习前言 命名空间与IO流

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

【python】time

文章目录 【calendar】是否闰年星期英文缩写今天星期几打印日历 【datetime】今天星期几 【time】当前时间 【pandas】当前时间文件修改的时间 【日历】 【calendar】 是否闰年 import calendar print(calendar.isleap(2000))out True星期英文缩写 print(calendar.weekhead…

Zookeeper经典应用场景实战

1. Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户端API有: ZooKeeper官方的Java客户端API。第三方的Java客户端API,比如Curator。 ZooKeeper官方的客户端API提供了基本的操作。例…

Gin框架中的Cookie怎么搞(会话控制)

参考地址 设置和获取 Cookie | Gin Web Framework (gin-gonic.com)https://gin-gonic.com/zh-cn/docs/examples/cookie/ 什么是cookie cookie在互联网上随处可见,具体体现如下: 保持登录状态 保存浏览器的历史记录 大数据随心配,按喜好推送讯息 购物网站加入购物车 都会…

内存概念,进程运行的基本原理(指令,逻辑地址与物理地址的转换,程序运行的过程)

1.内存 内存可存放数据。 程序执行前需要先放到内存中才能被CPU处理:缓和cPU与硬盘之间的速度矛盾。 1.内存地址 内存地址从0开始,每个地址对应个存储单元。 2.存储单元 内存中也有一个一个的“小房间”,每个小房间就是一个“存储单元”…

RS485通讯方式-详解

RS485是美国电子工业协会(EIA)在1983年批准的一个新的平衡传输标准,也称作差分。 RS485总线通常采用两线间的电压差为2V到6V表示逻辑1,以两线间的电压差为-2V到-6V表示逻辑0。 这种总线以其差分传输方式而闻名,发送端在…

C语言常见题目 过关斩将(2)基础好❓你可知道有关 “素数“ 的三连问❓

我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位 👍点赞 ⭐收藏 📝评论 特别标注:本博主将会长期更新c语言的语法知识,初学c语言的朋友们,可以收藏…

从0开始学go第七天

gin获取表单from中的数据 模拟简单登录页面&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>login</title> </head><body><form action"/login" method&q…

SLAM从入门到精通(launch文件学习)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 大家应该还记得我们在一开始学习ros的时候&#xff0c;如果需要启动一个节点的话&#xff0c;需要首先打开roscore&#xff0c;接着用rosrun打开对…

Java进击框架:Spring-Bean初始化过程(五)

Java进击框架&#xff1a;Spring-Bean初始化过程&#xff08;五&#xff09; 前言源码初始化配置加载Bean加载Bean对象加载Bean切面 Bean工厂后置处理器注册Bean后置处理器初始化消息源初始化应用程序事件多播器注册监听器完成Bean工厂初始化Bean初始化完成刷新应用上下文创建完…

VSCODE+PHP8.2配置踩坑记录

VSCODEPHP8.2配置踩坑记录 – WhiteNights Site 我配置过的最恶心的环境之一&#xff1a;windows上的php。另一个是我centos服务器上的php。 进不了断点 端口配置和xdebug的安装 这个应该是最常见的问题了。从网上下载完php并解压到本地&#xff0c;打开vscode&#xff0c;安装…

前端 | 前端工程化

文章目录 前端工程化1. Vue项目创建2. Vue项目目录结构3. vue项目开发 前端工程化 1. Vue项目创建 安装插件vue-cli npm install -g vue/cli命令行创建 Vue 项目 vue create vue-project(项目名称)图形化界面创建 VUe 项目 vue ui图形化界面如下&#xff1a; 选择功能&…

如何在edge浏览器中给PDF添加文字批注

我用的edge浏览器是目前最新版的&#xff08;一般自动更新到最新版&#xff09; 最近&#xff0c;我喜欢用edge浏览器查看PDF&#xff0c;节省电脑资源&#xff0c;快捷且方便。 但edge对PDF的标注种类较少&#xff0c;主要是划线和涂色&#xff0c;文字批注功能尚未出现在工具…

【TB作品】基于MSP430G2553单片机的超声波测距与报警系统,原理图,PCB

功能&#xff1a; 1 超声波测距显示 2 按键设置报警上下限 3 蜂鸣器报警 原理图&#xff1a; PCB样式&#xff1a; 实物&#xff1a; 代码&#xff1a; https://github.com/xddun/blog_code_search

PDMS二次开发(二十一)——关于Pipeline工具生成螺栓材料表的计算思路

目录 1.简述2.螺栓元件的数据2.1 A1A等级中螺栓元件库2.2 A1A等级中法兰元件库2.3 A1A要指定螺栓等级2.4 螺栓等级数据解析 3.问题解释 1.简述 因为有好几个网友问到螺栓材料表生成报错的问题&#xff0c;我初步分析可能还是因为螺栓元件库的问题&#xff0c;我这里对Pipeline…

Android约束布局ConstraintLayout流式Flow

Android约束布局ConstraintLayout流式Flow <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.…

Hadoop分布式集群搭建教程

目录 前言环境准备一、创建虚拟机二、虚拟机网络配置三、克隆虚拟机四、Linux系统配置五、Hadoop的部署配置六、Hadoop集群的启动 前言 大数据课程需要搭建Hadoop分布式集群&#xff0c;在这里记录一下搭建过程 环境准备 搭建Haoop分布式集群所需环境&#xff1a; VMware&a…

Redis之缓存一致性

Redis之缓存一致性 1 缓存更新策略1.1 内存淘汰1.2 过期删除1.3 主动更新1.4 三种缓存更新策略的对比 2 更新缓存的两种方式3 缓存更新策略的实现方式3.1 先更新DB&#xff0c;后更新缓存3.2 先更新DB&#xff0c;后删除缓存3.3 先更新缓存&#xff0c;后更新DB3.4 先删除缓存&…