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

相关推荐
Am心若依旧4094 分钟前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
明月看潮生7 分钟前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
大G哥16 分钟前
java提高正则处理效率
java·开发语言
ROBOT玲玉20 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
VBA633726 分钟前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~28 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳38 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it38 分钟前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
Kai HVZ1 小时前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode