pipenv
pipenv copied to clipboard
allow "pipenv run" to ignore the virtualenv, or support --system, or allow [scripts] to specify they are 'non-virtualenv'
Is your feature request related to a problem? Please describe.
Similar to #5086
When running pipenv inside a vscode dev container, it is extremely useful to use the [scripts] section along with pipenv run as a common CLI for various project related commands. This is very similar to the npm scripts workflow, which is a great way of encapsulating the run commands for various CI, test, build, etc lifecycle options into a single entry point (npm or pipenv in this case).
However, pipenv run always forces the use of a virtualenv, which means trying to use it in a vscode dev container where you aren't using virtualenvs at all makes it for a frustrating experience.
There's also cases where you don't want or need the virtualenv activated for the lifecycle command, such as running a shell script.
Describe the solution you'd like
I would like to:
- use
--systemwithpipenv run footo run thefooscript without activating a virtualenv
and/or
- specify an additional option for an entry in the
[scripts]section, to specify it as a 'non-virtualenv' script, meaning it won't activate any virtualenv when running
Describe alternatives you've considered
The current alternative is to use bash scripts or similar as an entry point for lifecycle commands, which means a less consistent interface for developers (e.g. having to document each shell script itself like ./ci/build, rather than just saying "use pipenv run build")
Additional context
py3.10 / linux or mac
I use pipenv on a machine / network that I cannot export the output of pipenv support from, but I'm using the latest version as of the time of this post.