Quick Facts
- Category: Science & Space
- Published: 2026-05-11 11:26:13
- Google Upgrades Home Assistant to Gemini 3.1: Smarter, Multi-Step Commands Now Live
- PyTorch Lightning Hijacked in PyPI Attack: Malicious Versions Siphon User Credentials
- 10 Ways to Master User Research Through Storytelling
- How to Join and Contribute to the Python Security Response Team: A Comprehensive Guide
- How eBay Can Save $1.2 Billion by Adopting Bitcoin Instead of Merging with GameStop
Overview
The latest update to the Python Environments extension for Visual Studio Code delivers significant improvements in startup speed, overall reliability, and day-to-day usability. This release focuses on making the extension faster to activate, more robust in handling errors, and smarter about how it manages terminals and package operations.

Faster Startup Performance
Activation times have been slashed considerably, particularly for users working on remote machines or inside containers. The team implemented three key optimizations:
Lazy Manager Discovery
Previously, the extension eagerly detected environments for Pipenv, pyenv, and Poetry on every startup. Now, detection is deferred until you actually interact with one of these tools—for example, by opening a project that contains a Pipfile or pyproject.toml with a Poetry backend. This eliminates unnecessary overhead for the majority of users who rely on venv, uv, or conda (see issues #1423, #1408).
Faster Environment Resolution
The path from extension activation to an interpreter being ready is now shorter. Resolution logic during startup and interpreter selection has been streamlined to complete with less overhead (issue #1419).
Narrower Default Workspace Scanning
The default search pattern for virtual environments was ./**/.venv, which performed a recursive scan of the entire workspace tree. On large projects, especially over Remote-SSH, this could cause the Python Environment Tools (PET) process to hang for 30+ seconds during configuration, leading to cascading timeouts and restart loops (see issues #1460, #1434). The new default is .venv and */.venv, covering the standard layout without deep traversal. If you have virtual environments nested more than one level deep, you can add custom paths via the python-envs.workspaceSearchPaths setting (issue #1419).
Enhanced Reliability
Several fixes address crashes and incorrect state recovery that could leave the extension unusable or silently change your interpreter selection.
PET Crash Recovery
When the PET process crashed mid-refresh, the extension could end up in a broken state with no environments visible. The extension now retries the refresh after a crash and handles empty or malformed responses defensively. A transient PET failure no longer leaves you with a blank environment list (issues #1442, #1447, #1444).
Conda Base Environment Fix
After a window reload, the conda base environment could be incorrectly restored as a different named environment—making it appear that your interpreter selection had silently changed. This is now fixed (issue #1412).
Terminal and Package Management Upgrades
Quality-of-life improvements for terminals and package lists make everyday workflows smoother.
Auto-Refreshing Package Lists
You no longer need to manually refresh the package view after running pip install or pip uninstall. The extension now watches for metadata changes in site-packages and updates the package list automatically (issue #1420).
Multi-Project Terminal Creation
In workspaces with multiple Python projects, creating a new terminal now prompts you to choose which project’s environment to activate, rather than picking one silently (issue #1401).
PowerShell Activation on Windows
Virtual environment activation via PowerShell could fail if the system execution policy blocked scripts. The extension now sets a process-scoped execution policy before running activation, so .ps1 scripts execute reliably (issue #1415).