pip-manager
pip-manager copied to clipboard
Support for multiple package roots within one project
Hello,
First of all, I wanted to thank you for this useful extension. Great job, it is the best pip related VS Code extension I've found by far.
I was wondering if you'd be open to some additional features that I believe can be helpful to many others.
-
Is it possible to add package path (relative to project root) next to or under each package name?
-
More importantly can this support multiple (2,3 or more) package roots within one project? For example there's the virtual environment (for example .venv) directory, but we also use Lambda layers with AWS SAM and have several more package locations for external/shared/internal/etc packages. Can your extension reveal packages grouped by location maybe? This would be a game changer for us.
-
Another minor improvement would be to add package counts as well as more prominent notification that an update is available for it.
Thanks again, your effort on this is much appreciated!
Thank you so much for giving me so many great ideas, let me explore how to implement these features.
You must be a deep user of python, and I'm not familiar with the file structure of multi-environment python packages, can you share some article with me, it must be very helpful to me.
I am very happy and thank you very much for your ideas and your affirmation!
Thanks, appreciate your response.
What I'm referring to is simple
"pip install -r requirements.txt --target packages/external"
or
"pip install pandas --target "packages/shared"
So, in this scenario I have 3 directories in my workspace with packages in 3 directories:
- .venv/lib/python3.9/site-packages - environment global packages
- packages/external - simply a location, not available in the environment
- packages/shared - same as the above
An example of actual source tree from one random project:

We need these directories separate for our AWS SAM / Cloudformation deployment workflow.
Does this make sense?
Thanks.
EDIT:
What I see, UI-wise, is something like this with collapsible treeview:
project/
├── .venv/lib/python3.9/site-packages/ (2)
│ ├── pandas
│ └── requests
├── dependencies/external/ (3)
│ ├── boto3
│ |── botocore
│ └── jmespath
├── dependencies/internal/ (1)
│ └── pytest
You let me know more, Thanks