As part of a package management tool, I'm trying to use pip to install python packages into a virtualenv, from python code (via subprocess), into a different virtualenv than the virtualenv my python process is running in (if any). I have this *mostly* working with:

pip install --prefix [virtualenv-path] --ignore-installed --no-build-isolation

However, installed scripts break because the scrips automatically get prepended with a shebang pointing to the python interpreter pip was run under.

Is there a way around this behavior? Am I crazy to even try to install into a different virtualenv? Or do I have to re-architect my code to call pip in the target virtualenv (which may require me forcing pip to be installed, depending on what versions of python I choose to support)?

Sincerely,

Alex Becker