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
uvwhen 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-environmentwall.
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.