Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How add default packages to all new python's venvs

I use Python and pip trhough the asdf version manager, and in my older PC, when I create a new venv it already came with some default packages. I’m now using a newer verison of python (3.9.12) and pip (22.0.4), and it does not come with basic and essential things, such as the gnureadline, to be able to see the commands history in the python’s shell. It’s really annoying having to install it again in all new venvs and I’m trying to avoid an alias to create a venv and install what I want inside it. There is a way to set some default packages to all venvs?

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

There is an option:

--system-site-packages
                      Give the virtual environment access to the system
                      site-packages dir.

So if you use python3 -m venv --system-site-packages .venv then you may install the packages you want available to all envs at the system level. You’ll have to be hygienic about the packages installed at the system level.

If the system python on your distribution is a hot mess, and you can’t remove things you don’t want visible in venvs from it, then you’ll want to look for another option.

One possibility is just to install common packages to some target directory:

python3 -m pip install dep1 dep2 --target=/path/to/common

And then make this directory of packages always visible:

export PYTHONPATH=/path/to/common
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading