Skip to content

Activate Environments in Terminal Using Environment Variables

Kartik Raj edited this page Aug 10, 2023 · 28 revisions

Python extension now activates selected environment in terminal without sending any activation commands (#11039). Traditionally, terminal prompts are generally used to indicate whether a Python env is currently activated in terminal:

image

However now, in some cases, the indicator might not be present at all. Nonetheless, please be assured that the environment is still activated.

Pro tips:

  • You can hover over the terminal tab to see which environment is currently activated in terminal:

  • Click "Show environment contributions" if you're interested in which specific environment variables were applied to activate this terminal:

    image

Limitations:

Such implicit activation will not work in the following case:

  • You have shell integration turned off: "terminal.integrated.shellIntegration.enabled": false
  • And your shell init script (.bashrc, profile.ps1 etc.) activates another environment (say myshellenv) for your shell. For eg. this can happen if "base" conda environment is activated by default: #20885.

In this case myshellenv will override the selected environment and terminal is activated using myshellenv instead. This can be solved for conda base case by running the following command:

conda config --set auto_activate_base False

In other cases feel free to let us know via Python: Report Issue command and we can help exploring workarounds for you.

Clone this wiki locally