python的虚拟环境venv创建和使用

找了半天python多版本共存下配置虚拟环境,通过网上的资源学习,我将总结如下:

1.什么是虚拟环境

AI是这么说的:

虚拟环境是在计算机中创建的一种隔离的、独立的工作区域。它主要用于在一个计算机系统中同时管理多个项目,每个项目都有自己独立的运行环境和依赖项。

虚拟环境的主要目的是解决不同项目之间依赖冲突的问题。在开发过程中,不同项目可能会依赖不同版本的软件包,这样就会导致冲突。通过创建虚拟环境,每个项目都可以拥有自己独立的Python解释器和软件包依赖,互不干扰。

常见的虚拟环境工具包括Python中的venv、virtualenv以及Anaconda中的conda。它们都可以帮助开发者创建、管理和切换虚拟环境。

通过使用虚拟环境,开发者可以更好地组织和管理项目,同时也可以确保项目的依赖关系得到良好的控制,避免不同项目之间的冲突,提高开发效率和代码的可维护性。

说的很对,下来我就用python中的Venv来创建虚拟环境。

2、创建虚拟环境并激活

快捷键win+R,输入cmd,打开面板

输入:python -m venv 安装路径和虚拟环境的名字

或者可以指定版本下载**:** python3.8 -m venv 安装路径和虚拟环境的名字

3.8可以改成你的指定版本;

其中include是空文件夹;咱们要看的是Scripts和Lib文件夹;

Lib和真实的文件差不了多少;

Scripts中

我们是window-cmd激活,那我们就激活一下:activate.bat

也其实不用管后缀,你在那个环境中他就会在那个环境中激活;

前面的括号,说明我们进入了虚拟环境;通过命令行和文件,让我们来看一下,

激活里面的pip下载文件:

未下载前

下载后:

pip list 看一下;

出现了;

3.在编辑器的应用

以VScode例:ctrl+shift+P,选择解释器然后找到,刚刚创建的虚拟环境路径;

就OK了;

4.虚拟环境的必要性

  1. 避免依赖冲突:虚拟环境可以避免依赖冲突,当你需要在同一台计算机上运行多个应用程序时,它们可能会依赖于相同的库或软件包,容易出现版本冲突。

  2. 开发环境复制:如果你要部署或分享你的应用程序,你的开发环境需要与其他人的环境相同。虚拟环境是为部署容易复制和分享开发环境的好方法。

  3. 隔离测试环境:虚拟环境可以为测试环境提供隔离,这可以避免测试过程中引入错误或中断生产环境。

  4. 避免变化:虚拟环境可以避免使用旧版本的库,从而防止应用程序出现错误或崩溃。

  5. 增强可重复性:虚拟环境可以提供一个可重复的环境,因此你可以在不同计算机上,不同操作系统中运行同样的应用程序。

综上,虚拟环境有助于保证开发环境的规范性、稳定性和可重复性。这些对于软件开发和数据分析来说是非常重要的。

5.保存和复制虚拟环境

想让第二个人和我用到一模一样的虚拟环境,该怎么做呢;

这时需要用的pip中的另一个命令:

让我们来调用一下:

pip freeze

你这里面的所有包;都能看到,


让我们来保存一下:

pip freeze > requirements.txt

这样发送给别人,别用的时候,输入命令:

**pip install -r requirements.txt;**重新下载就行了;

文字看起来费劲可以参考视频:

7分钟编程环境通俗讲解_哔哩哔哩_bilibili

1-什么是虚拟环境_哔哩哔哩_bilibili

相关推荐
quantdash_cc4 分钟前
如何设计高效率的批量股票数据获取程序?QuantDash Python SDK 全市场行情拉取实战指南
开发语言·python·数据分析·量化交易·股票数据·quantdash
Jul1en_8 分钟前
Matt 与 Uncle Bob 的播客访谈有感
开发语言·经验分享·笔记·ai·开源·github·ai编程
砚底藏山河12 分钟前
拉数管道设计:从一次性脚本到可重启的数据流水线(魔码量化实战 #01)
java·数据库·python·金融·maven
玖玥拾13 分钟前
Lua 基础语法(五)Unity xLua基础配置与 C# 访问 Lua
开发语言·unity·c#·lua
东莞市云毅网络有限公司17 分钟前
企业非结构化资料拆分成可引用片段:一套能跑通的预处理流水线
python·数据清洗·rag·企业知识库·文档解析
淼澄研学18 分钟前
Sonos空间音频技术解析与Python本地API控制实操
开发语言·python·音视频
研☆香24 分钟前
js中使用的正则表达式
开发语言·javascript·正则表达式
szarron24 分钟前
国产手持式频谱分析仪选型攻略:TFN RC系列 vs HTOOL SA8T频谱分析仪 专业参数对比(军工/路测/调试全覆盖)
开发语言·前端·状态模式
我是唐青枫25 分钟前
C#.NET StructureMap 从依赖注入到项目实战
开发语言·c#·.net
Beyond_System|系统之外28 分钟前
一个网页如何同时适配投影仪、1366×768 和 1920×1080?我重新理解了“自适应布局”
开发语言·css·html