← All extensions
Python Environments banner

Python Environments

ivyx✓

Create and switch Python environments, install packages, and share the active one across extensions

Python Environments

Answers one question for the whole workspace: which Python are we using? It finds the environments on your machine, creates new ones, installs packages into them, and makes sure every Python-aware extension uses the one you picked.

What you can do

  • Find the environments you already have: workspace venvs (.venv, venv, .env, env), conda and mamba environments, pyenv versions, poetry and pipenv environments, and system interpreters.
  • Create a venv, with uv when it is available, or a conda environment, with packages installed as part of the setup.
  • Install and uninstall packages in whichever environment you pick, always through that environment's own interpreter.
  • Switch the active environment and have Local Jupyter, the debugger, Requirements and Experiments follow it.
  • Open a terminal that is already activated in an environment, with no activate script to remember.
  • Get a way forward when a system Python refuses installs, instead of an externally-managed-environment wall.

Getting started

Open Python Environments from the activity bar. It lists your environments with the active one marked, over the packages installed in it. Pick an environment, or press + to create a .venv for this workspace.

Right-click an environment for Use This Environment, Open Activated Terminal, Install Package…, Reveal in Finder and Delete Environment. The status bar shows the active environment; click it, or run Select Python Environment from the command palette, to switch.

Requirements

The desktop app, because finding and creating environments runs local processes.

Settings

env-manager.pythonPath is an explicit interpreter path that always wins over discovery. Use it for an environment this extension cannot find.

Good to know

  • The active environment is remembered in .punica/python.yaml, a plain file you can edit by hand.
  • A system-managed Python is never installed into. Install Package… is not offered for it, and you are steered to a new environment instead.
  • Delete is only offered for environments this extension created, and an environment that has gone missing shows as broken with Forget Environment rather than disappearing.