-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Type: Bug
Behaviour
When I run "Python: Create Environment" from command pallet now, the process is a mess as of latest updated. I previously could quickly select options for updating or deleting+replacing, and my requirements.txt. Now there is a quick option (which creates redundant .venv-XXX environments) which spiders through entire repo and submodules finding tons of irrelevant requirements.txt files. If I do the manual setup it complains that .venv already exists (so I have to manually delete), and then top-level requirements.txt is no longer first result, its like 50th making it very tricky to ensure I select the exact right one!
a) I cant deleted / replace existing .venv easily, instead it creates many copies ".venv-{index}" which is almost certainly going to cause confusion having multipe venv directories as well as bloating and likely bypassing typical .gitignore configurations.
b) "quick create" spiders through finding every possible requirements.txt in the workspace (including submodules, etc), which I dont think is good default behavior (nor does this appear to be configurable). This results in bloated, slow and sometimes incompatible environments.
c) "venv" / manual mode burries the top-level requirements.txt in a huge list of requirements (its not longer the first entry). This again makes it very difficult to setup the nominal case.
d) there seems to be a "global" option now, which seems very sketchy to have in there assuming it globally installs any requirements it can find in the directory tree to the global python environment!
With that said, the "quick create" could be useful, but only if I can explicitly configure its behavior in .vscode/settings.json (e.g. what requirements to install, what directory, delete/update behavior, etc). But just default baked in defaults right now dont seem suitable for large repositories. And the net result is a much more clunky interface for setting up venv.
Steps to reproduce:
Actually just try and use "Python: Create Environment" in any serious repository.
Diagnostic data
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
XXX
Extension version: 2026.4.0
VS Code version: Code 1.113.0 (cfbea10c5ffb233ea9177d34726e6056e89913dc, 2026-03-24T15:07:18+01:00)
OS version: Linux x64 6.8.0-106-generic
Modes:
- Python version (& distribution if applicable, e.g. Anaconda): 3.12.3.final.0
- Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): System
- Value of the
python.languageServersetting: Default
User Settings
languageServer: "Pylance"
Installed Extensions
| Extension Name | Extension Id | Version |
|---|---|---|
| autopep8 | ms- | 2025.2.0 |
| claude-code | Ant | 2.1.87 |
| cmake | twx | 0.0.17 |
| cmake-tools | ms- | 1.22.28 |
| cpp-devtools | ms- | 0.4.6 |
| cpptools | ms- | 1.31.3 |
| cpptools-extension-pack | ms- | 1.5.1 |
| cpptools-themes | ms- | 2.0.0 |
| debugpy | ms- | 2025.18.0 |
| docker | doc | 0.18.0 |
| graphviz-interactive-preview | tin | 0.3.5 |
| js-debug | ms- | 1.112.0 |
| js-debug-companion | ms- | 1.1.3 |
| jupyter | ms- | 2025.9.1 |
| jupyter-keymap | ms- | 1.1.2 |
| jupyter-renderers | ms- | 1.3.0 |
| makefile-tools | ms- | 0.12.17 |
| python | ms- | 2026.4.0 |
| sort-lines | Tyr | 1.12.0 |
| vscode-azureresourcegroups | ms- | 0.12.3 |
| vscode-containers | ms- | 2.4.1 |
| vscode-docker | ms- | 2.0.0 |
| vscode-js-profile-table | ms- | 1.0.10 |
| vscode-jupyter-cell-tags | ms- | 0.1.9 |
| vscode-jupyter-slideshow | ms- | 0.1.6 |
| vscode-mermaid-chart | Mer | 2.6.2 |
| vscode-pylance | ms- | 2026.1.1 |
| vscode-python-envs | ms- | 1.24.0 |
System Info
| Item | Value |
|---|---|
| CPUs | 13th Gen Intel(R) Core(TM) i9-13900K (32 x 5500) |
| GPU Status | 2d_canvas: enabled GPU0: VENDOR= 0x10de, DEVICE=0x2704, DRIVER_VENDOR=Nvidia, DRIVER_VERSION=580.126.09 ACTIVE GPU1: VENDOR= 0x8086, DEVICE=0xa780 Machine model name: Machine model version: direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_graphite: disabled_off trees_in_viz: disabled_off video_decode: enabled video_encode: disabled_software vulkan: disabled_off webgl: enabled webgl2: enabled webgpu: disabled_off webnn: disabled_off |
| Load (avg) | 19, 6, 2 |
| Memory (System) | 125.55GB (112.05GB free) |
| Process Argv | --crash-reporter-id 0434e92c-0cc0-4010-ae17-98280f95641f |
| Screen Reader | no |
| VM | 0% |
| DESKTOP_SESSION | ubuntu |
| XDG_CURRENT_DESKTOP | ubuntu:GNOME |
| XDG_SESSION_DESKTOP | ubuntu |
| XDG_SESSION_TYPE | x11 |
A/B Experiments
vsliv368cf:30146710
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31463988
aj953862:31281341
6abeh943:31336334
envsactivate1:31464700
cloudbuttont:31379625
3efgi100_wstrepl:31403338
55ia6109:31457054
use-responses-api:31390855
defaultusage:31403421
ddidt:31399633
ec5jj548:31422691
cp_cls_t_966_ss:31454198
4je02754:31466945
8hhj4413:31478653
cp_cls_c_1081:31454833
e9c30283:31461165
test_treatment2:31471001
idci7584:31464702
showingstats:31481873
534a6447_copy:31478748
chat:31457767
bg_compact_c:31481651
t-some:31484756
cpptoolson-v2:31475363
c795h766_force_extended_thinking:31484226
db0gd219:31481871
ddid_t:31478206
ahei0758:31485062