新的虚拟环境,为什么没有python安装
揭秘:虚拟环境中 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
这是虚拟环境创建失败了,大概率是杀毒软件把它当成病毒隔离了:
-
先删掉项目里旧的
envs文件夹 -
打开杀毒软件,把你的项目文件夹加入「信任区 / 白名单」
-
重新创建虚拟环境:
python -m venv envs -
再去
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
更多推荐


所有评论(0)