揭秘:虚拟环境中 Python 验证及常见误区

别慌!这是一个很多人都会踩的经典误区,我给你把底层逻辑讲透,再教你怎么验证和解决👇


🔑 核心结论:虚拟环境(venv)根本不会帮你重新安装一个新的 Python

你用python -m venv envs创建的虚拟环境,本质上是复用你电脑里已有的系统 Python,只是给它创建了一个「隔离的运行包间」:

  • 它不会有 “安装 Python” 的过程

  • 它不会在envs文件夹里生成一套完整的 Python 安装文件

  • 它的 Python 解释器,只是你系统 Python 的一个副本,放在了envs\Scripts\python.exe

打个比方:就像你用自己的电脑开了个 “专属账号”,账号本身不会自带一台新电脑,只是用的还是你原来的电脑,但桌面、软件都和别人隔离了。


📌 第一步:验证你的虚拟环境里到底有没有 Python

 0:创建新的虚拟环境(文件夹名叫 envs

在当前项目目录下,执行下面的命令,就会自动创建一个叫 envs 的文件夹,里面就是全新的虚拟环境:

cmd

python -m venv envs

按下面的步骤操作,10 秒就能确认:

1. 先确认虚拟环境激活成功

在项目目录的 CMD 里执行:envs\Scripts\activate

激活成功后,命令行最前面必须出现 (envs) 标识,像这样:

(envs) H:\通信线路勘测\各种比赛快捷链接\红外图像小目标检测热力图可视化系统>

如果没有这个标识,说明你根本没进入虚拟环境,自然找不到它的 Python。

2. 激活后,执行这两条命令验证

# 查看Python版本 
python --version 
# 查看当前用的Python路径(CMD用这个)
 where python

正常情况下,输出会是这样:


Python 3.10.12 H:\通信线路勘测\...\envs\Scripts\python.exe C:\Users\你的用户名\AppData\Local\Programs\Python\Python310\python.exe

  • 第一条路径是envs\Scripts\python.exe,说明你现在用的是虚拟环境里的 Python,完全正常

  • 第二条是你系统的 Python,只是路径被系统记录了,不影响


🚨 两种常见的 “找不到 Python” 的情况,对应解决方法

情况 1:激活后还是找不到,where python 显示的是系统 Python

这是激活失败了,最常见的原因是 PowerShell 的执行策略限制:

  • 如果你用的是 PowerShell,会默认禁止运行脚本,导致activate命令失效

  • 解决方法:直接用CMD 命令行操作,或者给 PowerShell 放开权限:

    • 以「管理员身份」打开 PowerShell

    • 执行:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

    • 输入Y确认,再回去激活虚拟环境即可

情况 2:envs\Scripts 文件夹里根本没有 python.exe

这是虚拟环境创建失败了,大概率是杀毒软件把它当成病毒隔离了:

  1. 先删掉项目里旧的envs文件夹

  2. 打开杀毒软件,把你的项目文件夹加入「信任区 / 白名单」

  3. 重新创建虚拟环境:

    
      

    python -m venv envs

    1. 再去envs\Scripts里看,python.exe就会出现了


    💡 补充:如果你想装「不同版本的 Python」,venv 做不到!

    你现在用的venv是 Python 自带的工具,它只能复用你创建时用的系统 Python 版本,比如你用 Python3.10 创建的,虚拟环境里的 Python 就永远是 3.10,不能改成 3.8/3.9 等其他版本。

    如果你的项目需要特定版本的 Python,得用Anaconda/Miniconda的虚拟环境,它可以给每个环境装独立的 Python 版本,操作也更灵活。


    ✅ 一步到位的验证命令(复制直接用)

    把下面的命令一次性复制到 CMD 里,就能走完 “进入项目→激活环境→验证 Python” 的全过程:

    
    

    cd "H:\通信线路勘测\各种比赛快捷链接\红外图像小目标检测热力图可视化系统" envs\Scripts\activate python --version where python

    只要能看到(envs)标识,且where python的第一条路径是envs\Scripts\python.exe,就说明一切正常,不用额外安装 Python。

    最终执行

    执行(envs) H:\通信线路勘测\各种比赛快捷链接\红外图像小目标检测热力图可视化系统>pip install -r requirements.txt 虚拟包安装在envs文件夹里面的\envs\Lib\site-packages

    更多推荐