Search code examples
pythonvirtualenveasy-installpip

Including global package into a virtualenv that has been created with --no-site-packages


I'd usually prefer to create virtualenvs with --no-site-packages option for more isolation, and also because default python global packages includes quite a lot of packages, and usually most of them are not needed. However I'd still want to keep a few select packages in global, like PIL or psycopg2. Is there a good way to include them into the virtualenv, that can also be automated easily?


Solution

  • If you're using virtualenvwrapper and you might be able to use the postmkvirtualenv script to automatically create symlinks in the new virtualenv sitepackages directory.

    #!/bin/sh
    cdsitepackages
    ln -s /path/to/system/site-packages/package-name
    cdvirtualenv