You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统中无法创建Python虚拟环境的问题求助

问题描述

在Windows系统中创建Python虚拟环境时遇到异常,具体操作和现象如下:

异常场景(项目目录执行命令)

在路径O:\Workspaces\VSCPython\venvTest下执行命令后,未生成目标虚拟环境testVENV,仅出现__pycache__目录:

PS O:\Workspaces\VSCPython\venvTest> dir

    Verzeichnis: O:\Workspaces\VSCPython\venvTest

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.03.2023     09:48             66 venv.py

PS O:\Workspaces\VSCPython\venvTest> python -m venv testVENV
['O:\\Workspaces\\VSCPython\\venvTest', 'C:\\Users\\ysteiner\\AppData\\Local\\Programs\\Python\\Python311\\python311.zip', 'C:\\Users\\ysteiner\\AppData\\Local\\Programs\\Python\\Python311\\DLLs', 'C:\\Users\\ysteiner\\AppData\\Local\\Programs\\Python\\Python311\\Lib', 'C:\\Users\\ysteiner\\AppData\\Local\\Programs\\Python\\Python311', 'C:\\Users\\ysteiner\\AppData\\Roaming\\Python\\Python311\\site-packages', 'C:\\Users\\ysteiner\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages']
PS O:\Workspaces\VSCPython\venvTest> dir

    Verzeichnis: O:\Workspaces\VSCPython\venvTest

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.03.2023     10:42                __pycache__
-a----        28.03.2023     09:48             66 venv.py

正常场景(Python安装目录执行命令)

在Python安装目录执行以下命令,成功创建虚拟环境:

PS C:\Users\ysteiner\AppData\Local\Programs\Python\Python311> .\python.exe -m venv C:\temp\venv2

系统环境变量Path

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\ysteiner\AppData\Local\Programs\Python\Python311;C:\Users\ysteiner\AppData\Local\Programs\Python\Python311\Scripts\;C:\cygwin64\bin;C:\Program Files\Git\cmd;C:\Program Files\Git LFS;C:\Program Files\dotnet\;C:\Program Files (x86)\Plantronics\Spokes3G\;C:\Program Files (x86)\Subversion\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\nodejs\;C:\msys64\mingw64\bin;C:\msys64\usr\bin;C:\Program Files\TortoiseGit\bin;C:\Users\ysteiner\.cargo\bin;C:\Users\ysteiner\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\ysteiner\AppData\Local\Programs\Python\Python311\;C:\Users\ysteiner\AppData\Local\Microsoft\WindowsApps;C:\Users\ysteiner\.dotnet\tools;C:\Users\ysteiner\AppData\Roaming\npm;C:\Users\ysteiner\AppData\Local\Programs\Microsoft VS Code\bin

同时使用VSCode创建虚拟环境也出现相同失败现象,请问问题出在哪里?


问题原因与解决方案

核心原因

当前工作目录下存在同名的venv.py文件,导致执行python -m venv时,Python优先加载了当前目录下的venv.py,而非系统自带的venv标准库模块。从命令执行后输出的sys.path列表也能看到,当前目录O:\Workspaces\VSCPython\venvTest排在最前面,Python会优先搜索这个路径下的模块。

你当前目录的venv.py应该只是打印了sys.path内容,并没有执行创建虚拟环境的逻辑,所以只会生成该脚本的__pycache__缓存目录,而不会创建目标虚拟环境。

而在Python安装目录执行命令时,该目录下没有venv.py文件,Python会正常加载系统自带的venv模块,因此能成功创建虚拟环境。

解决方案

  1. 重命名或删除当前目录下的venv.py文件:
    # 重命名示例
    Rename-Item -Path .\venv.py -NewName .\my_venv_demo.py
    # 或直接删除
    Remove-Item -Path .\venv.py
    
  2. 重新执行创建虚拟环境的命令:
    python -m venv testVENV
    
  3. 验证结果:再次执行dir命令,应该能看到生成的testVENV目录。

VSCode创建虚拟环境失败也是同样的原因,解决上述问题后,VSCode也能正常创建虚拟环境。


内容的提问来源于stack exchange,提问作者yannick818

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:50:24