this post was submitted on 07 Apr 2025
10 points (77.8% liked)

Python

6977 readers
32 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 day ago (4 children)

Anyone have a good solution for projects with multiple sub-projects? My structure is like this:

  • root - no venv
    • project_a
      • .venv
      • app/
    • project_b
      • .venv
      • app/

To get completions to work, I need to manually switch venvs since each uses imports like app.a.b.c. But I frequently work on multiple projects at the same time, so I'd like it to switch venvs based on where the file lives.

Anyone know if that's possible? I'm probably missing something obvious since this seems like a fairly common thing.

[–] [email protected] 3 points 1 day ago* (last edited 1 day ago)

Multi-root workspaces will let you choose the interpreter for each directory;

I think that's the best way to make it work if you want to have more than one project in the same VS Code instance.

[–] [email protected] 2 points 1 day ago

You could use uv workspaces. It means you only have one venv though.

A VSCode multi-root workspace might also work.

[–] [email protected] 2 points 1 day ago (1 children)

Look into modern package management system like poetry or UV ;3

[–] [email protected] 1 points 1 day ago

I use poetry and that manages my venvs. I just want VSCode to select the right one based on where the file is.

[–] [email protected] 1 points 1 day ago (1 children)

I can't say that I've tried this for python, but have you looked into multi-root workspaces? That is how my current C++ and cmake setup performs, so Python might have something similar.

[–] [email protected] 1 points 1 day ago

I'll check it out, thanks for the tip. I don't know much about VSCode, I'm more of a vim person, but I've been using it more and more at work.