vscode搭建python项目隔离的虚拟环境

1作用

1. 依赖隔离 - 避免版本冲突

2. 项目环境纯净与可复现

3. 简化开发与部署流程

2实操

2-1创建文件夹

2-2创建文件并右键并点击"在集成终端中打开"

2-3在终端中输入创建

复制代码
python3 -m venv lazyllm-venv

创建虚拟环境

将生成如图所示的文件

2-4激活虚拟环境

(激活)

再终端中在输入

"PowerShell 是 Windows 命令行工具"

复制代码
.\lazyllm-venv\Scripts\Activate.ps1

代码解释

复制代码
1 . (点号)
在 PowerShell 中,点号 . 是一个特殊的操作符,称为"点源操作符"。
它的作用是在当前的 PowerShell 会话中执行一个脚本文件。
这一点至关重要。如果不用 . 而是直接运行 .\lazyllm-venv\Scripts\Activate.ps1,PowerShell 会启动一个新的、独立的进程来运行这个脚本。脚本运行完毕后,新进程会立即关闭,它对环境变量(如 PATH)所做的所有修改都会随之消失,等于什么都没发生。
使用 . 可以确保脚本所做的修改(比如修改环境变量)持久地保留在你当前的这个 PowerShell 窗口中。
2 \ (反斜杠)
这是 Windows 系统中标准的路径分隔符。
3 lazyllm-venv
这是一个文件夹的名称。
从命名规范来看(-venv 后缀),这几乎可以肯定是一个 Python 虚拟环境 的根目录。虚拟环境是 Python 项目开发中的一个最佳实践,用于为每个项目创建一个隔离的、独立的 Python 运行环境。
4 Scripts
这是 Windows 上 Python 虚拟环境目录下的一个标准子文件夹。
它包含了该虚拟环境的可执行文件和脚本,例如 python.exe, pip.exe, 以及用于激活/停用环境的脚本               5    Activate.ps1。
(在 Linux 或 macOS 上,这个文件夹通常叫 bin)。

Activate.ps1
这是 PowerShell 的脚本文件(.ps1 是 PowerShell 脚本的扩展名)。
它的名字 Activate 表明了它的功能:激活。
这个脚本里包含了一系列命令,用于修改当前会话的环境变量,从而"切换"到这个虚拟环境。

注意

如果是初次使用将会报如图所示的错误

原因:PowerShell的执行策略(Execution Policy),从默认的Restricted(受限)模式改为RemoteSigned(远程签名)模式,目的是允许运行本地脚本。

查看当前策略

复制代码
Get-ExecutionPolicy
  • 功能:获取当前PowerShell会话的执行策略设置
  • 输出Restricted
  • 含义:当前处于受限模式,禁止运行所有脚本文件
修改执行策略
复制代码
Set-ExecutionPolicy RemoteSigned
  • 功能 :将执行策略设置为RemoteSigned

  • 参数说明

    • RemoteSigned:允许运行本地脚本,但要求从网络下载的脚本必须有数字签名
  • 安全提示:系统会弹出警告,提醒用户修改执行策略可能带来的安全风险

    [Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为"N"):Y

  • 用户输入Y(确认更改)

  • 作用:用户明确同意修改执行策略

验证修改结果
复制代码
Get-ExecutionPolicy
  • 输出RemoteSigned
  • 含义:确认执行策略已成功修改
扩展

激活成功

备注

注意文件路径

或者直接复制完整路径

(XXX)再路径 即为激活成功

退出环境

复制代码
    deactivate

创建文件并运行(进入运行环境,并激活环境,再按F5运行文件)

相关推荐
IVEN_15 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang16 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮16 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling16 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮19 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽20 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞2 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽2 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers