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

相关推荐
im_AMBER17 分钟前
学习日志05 python
python·学习
大虫小呓22 分钟前
Python 处理 Excel 数据 pandas 和 openpyxl 哪家强?
python·pandas
哪 吒34 分钟前
2025B卷 - 华为OD机试七日集训第5期 - 按算法分类,由易到难,循序渐进,玩转OD(Python/JS/C/C++)
python·算法·华为od·华为od机试·2025b卷
-凌凌漆-37 分钟前
【Qt】QStringLiteral 介绍
开发语言·qt
程序员爱钓鱼37 分钟前
Go语言项目工程化 — 常见开发工具与 CI/CD 支持
开发语言·后端·golang·gin
军训猫猫头1 小时前
1.如何对多个控件进行高效的绑定 C#例子 WPF例子
开发语言·算法·c#·.net
真的想上岸啊1 小时前
学习C++、QT---18(C++ 记事本项目的stylesheet)
开发语言·c++·学习
明天好,会的2 小时前
跨平台ZeroMQ:在Rust中使用zmq库的完整指南
开发语言·后端·rust
摸爬滚打李上进2 小时前
重生学AI第十六集:线性层nn.Linear
人工智能·pytorch·python·神经网络·机器学习
丁劲犇2 小时前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse