Python Forum
Virtual Environment (using VS Code)
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Virtual Environment (using VS Code)
#1
Question 
Hello community,

I am trying to figure out which is the best way to use virtual environments…as there is mamba, conda, miniconda, anaconda and venv (…) I started to struggle a little…for writing code I am using Visual Studio Code. The code is more likely little scripts to make life easier (like small automation) but with different context Smile my „dream goal“ would be to have the following solution: for each script (or its project folder?), I want VS Code to recognize the script (or the folder of the script) as virtual environment and to switch it (automatically?) when opening the script. Which is the best way to go here? Can someone guide me? Your support would be really appreciated.
Reply
#2
I use the following method for a new project:

  1. Create a new directory and make cwd
  2. create the virtual directory I use: python -m venv 'Virtual project name'
  3. You can activate virtual environment inside of VSCode:
    • Ctrl/Shift/P
    • click on select interpreter
    • choose your newly created virtual environment (will be remembered, for all code in project)
  4. when using python from command line, start virtual environment as follows:
    1. Set cwd to top directory of project
    2. Issue command (Linux) . ./venv/bin/activate
Reply
#3
(Feb-14-2023, 11:56 AM)Larz60+ Wrote: I use the following method for a new project:

  1. Create a new directory and make cwd
  2. create the virtual directory I use: python -m venv 'Virtual project name'
  3. You can activate virtual environment inside of VSCode:
    • Ctrl/Shift/P
    • click on select interpreter
    • choose your newly created virtual environment (will be remembered, for all code in project)
  4. when using python from command line, start virtual environment as follows:
    1. Set cwd to top directory of project
    2. Issue command (Linux) . ./venv/bin/activate

Thanks for your quick response. I tried with venv (as you described) and also miniconda (with having the separate "Python selection" Addin in VS Code) using "open in terminal" resp. "set as active workspace interpreter".

Is there any possibility to enable VS Code to recognize which interpreter/virtual environment has to be used? (e.g. when selecting a *.py in a respective folder)
Reply
#4
Quote:Is there any possibility to enable VS Code to recognize which interpreter/virtual environment has to be used? (e.g. when selecting a *.py in a respective folder)
Kind of. When you open a folder in VSCode, that folder is treated as the top of the project. You can then specify the Python interpreter to use with that project.

Inside the same source tree you can open a different folder and set a different Python interpreter. Depending on what folder you "open", in VSCode, you get a different interpreter.

For example, I have a mucking about folder I call "musings". Under musing I have a "pygames" folder and a "qt" folder. I have a virtual environment that I use for the musings folder that ends up being a catch-all that I blast from time to time and restart. The pygames folder has it's own virtual environment that has a bunch of pygame packages installed. qt has a different virtual environment that has qt related packages installed.

So you cannot bind an interpreter to a particular python file, but you can bind an interpreter to a particular folder.
Reply
#5
(Feb-14-2023, 12:35 PM)Ashcora Wrote: Is there any possibility to enable VS Code to recognize which interpreter/virtual environment has to be used? (e.g. when selecting a *.py in a respective folder)
I usally start VS Code from folder i want to work with,from command line with code .
This also apply to virtual environment folder with venv or Anaconda/Miniconda.
If you look at this post,ther i use a conda enviroment
A example from start with venv.
[Image: Ql3q7d.png]
This start VS Code where it find the enviroment.
[Image: AOSeJv.png]
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Help with creating folder and "virtual environment" AudunNilsen 1 249 Mar-21-2024, 04:41 AM
Last Post: deanhystad
  Installing python packages in a virtual environment Led_Zeppelin 1 773 Aug-15-2023, 08:18 PM
Last Post: deanhystad
  Problem with virtual environment standenman 2 1,013 Feb-23-2023, 07:09 PM
Last Post: standenman
  Virtual Environments - Organization (VS Code) JaysonWonder 11 1,866 Jan-26-2023, 11:34 PM
Last Post: Larz60+
  How do I link the virtual environment of that project to the 3.9.2 version of python? Bryant11 1 1,378 Feb-26-2022, 11:15 AM
Last Post: Larz60+
  Project structure with a virtual environment gdbengo 1 1,449 Jan-26-2022, 03:22 PM
Last Post: snippsat
  Virtual environment path? Led_Zeppelin 1 2,315 Jul-22-2021, 01:40 PM
Last Post: snippsat
  virtual environment heye 4 2,483 Jul-04-2021, 06:47 AM
Last Post: ndc85430
  VS Code debugger using wrong Python environment topfox 0 2,516 Jun-09-2021, 10:01 AM
Last Post: topfox
  import statement in a virtual environment leodavinci1990 1 2,371 Mar-04-2021, 12:57 AM
Last Post: snippsat

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020