Streamlining Python Environment Management in VS Code: Your Questions Answered
Managing Python environments—whether for data science, web development, or automation—has often meant juggling multiple tools like venv, conda, pyenv, poetry, and pipenv. The Python Environments Extension for VS Code now brings all of these under one unified workflow. After a year in public preview, refined through community feedback, the extension is now generally available. It automatically detects environments from all major managers, provides a single UI to create, delete, and switch between them, and—if you have uv installed—uses it for lightning-fast environment creation. Below, we answer the most common questions about what this extension does and how it simplifies your daily Python development.
What is the Python Environments Extension for VS Code, and why was it created?
The Python Environments Extension is a dedicated component that works alongside the standard Python extension to give you a consistent, streamlined interface for managing Python environments directly inside VS Code. Historically, the ecosystem was fragmented: you could use venv, conda, pyenv, poetry, or pipenv, each with its own commands, UIs, and quirks. The extension was built to eliminate that fragmentation. After a year in preview, during which the team incorporated real-world feedback, it is now rolling out for general availability. The goal is to make environment management predictable, visible, and fast—so you can focus on writing code rather than troubleshooting which Python interpreter or package manager is active.

How does the extension automatically discover Python environments?
The discovery engine is PET (Python Environment Tool), a fast scanner written in Rust. PET checks your system’s PATH, known installation directories, and any configurable search paths you specify. It reliably finds environments created by venv, conda, pyenv, poetry, pipenv, and system Python installs—regardless of which tool created them. The same PET engine already powered environment discovery in the existing Python extension, so you’re getting the same proven technology with a dedicated, polished UI. If you have environments in non‑standard locations, you can set workspace-level glob patterns or global search paths to include shared directories outside your workspace. For most users, everything just works out of the box.
Can I create, delete, and manage environments from the extension, and what tools are supported?
Yes, the extension provides a single UI to create, delete, and switch environments. For creation, you can use Quick Create (the + button in the Environment Managers view) or Custom Create (via the Command Palette under Python: Create Environment). The extension directly supports creating venv and conda environments from within VS Code. For managers like pyenv, poetry, and pipenv, the extension discovers environments you have already created using their respective CLI tools—so you don’t have to leave VS Code to switch between them. This unified approach means you can manage all your environments from one place, regardless of which tool originally built them.
How does the extension leverage uv for faster environment creation?
If you have uv installed on your system, the extension automatically uses it for creating venv environments and installing packages. uv is a modern, Rust‑based package and project manager that dramatically speeds up these operations—especially in large projects with many dependencies. The feature is enabled by default through the python-envs.alwaysUseUv setting. When you trigger a new environment creation (either via Quick Create or Custom Create), the extension delegates the heavy lifting to uv behind the scenes, giving you a working environment in seconds instead of minutes. You don’t need to change your workflow; the extension handles the integration transparently.

What are the Quick Create and Custom Create options, and when should I use each?
Quick Create is the one‑click solution: just press the + button in the Environment Managers view. It builds an environment using your default manager, the latest Python version it finds, and automatically installs any workspace dependencies listed in requirements.txt or pyproject.toml. You get a working environment in seconds—ideal for most day‑to‑day scenarios. Custom Create gives you full control. Access it via Python: Create Environment in the Command Palette. Here you can choose the specific environment manager, the exact Python version, a custom environment name, and which dependency files to install from. Use Custom Create when you need a specific Python patch version, a non‑default manager, or when you have multiple dependency files to install.
How does the extension handle monorepos or projects with multiple environments using Python Projects?
The extension introduces a feature called Python Projects, which lets you map environments to specific folders or files within your workspace. This is a lifesaver for monorepos—large codebases that contain multiple independent Python projects, each with its own dependencies and interpreter requirements. Instead of manually switching environments every time you move between sub‑projects, you can define project‑specific environment assignments. The extension automatically activates the correct environment when you open a file or folder that belongs to a configured project. This solves one of the most common pain points in multi‑project workspaces, ensuring that your tools, linters, and debuggers always use the right Python environment for the code you’re editing.
Do I need to configure anything to get started, and how can I opt in if the extension isn’t automatically enabled?
In the coming weeks, the extension will be automatically enabled for all users of the Python extension—meaning your environment workflows will seamlessly switch to the new, unified interface. If you want to opt in immediately, set the python.useEnvsExtension setting to true in your VS Code settings. After that, no additional setup is required: just open a Python file, and the extension discovers all available environments automatically. If you have environments stored in non‑standard locations, you can optionally configure workspace-level or global search paths using glob patterns. Otherwise, you can start enjoying the benefits—faster creation with uv, a single UI for management, and intelligent project‑to‑environment mapping—right away.