I’m looking for a way to make a virtualenv which will contain just some libraries (which i chose) of the base python installation.
To be more concrete, I’m trying to import my matplotlib to virtualenv during the creation of virtualenv. It can’t be installed efficiently with pip or easy_install since it misses some fortran compiler libs. The way i did it till now was to manually copy from
/usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/
however this prevents the manully imported links to be registerd by yolk (which prints all currently available libs in virtualenv).
So, is there a way to do a selective variant of the
Create the environment with
virtualenv --system-site-packages . Then, activate the virtualenv and when you install things use
pip install --ignore-installed or
pip install -I . That way pip will install what you’ve requested locally even though a system-wide version exists. Your python interpreter will look first in the virtualenv’s package directory, so those packages should shadow the global ones.
You can use the
--system-site-packages and then “overinstall” the specific stuff for your virtualenv. That way, everything you install into your virtualenv will be taken from there, otherwise it will be taken from your system.
Install virtual env with
pip install -U to install matplotlib
You can use
virtualenv --clear. which won’t install any packages, then install the ones you want.