Skip to content

Why are useful command line options in pip undocumented and explicitly hidden? #2429

Open
@musically-ut

Description

@musically-ut

I use export PIP_REQUIRE_VIRTUALENV=true; in my .bashrc to ensure that I do not accidentally pollute my global env while installing packages for the various projects I work on.

I vaguely remembered that this was the same as adding a --require-virtualenv to the command line while invoking pip.

However, I was unable to find any documentation for this anywhere except in the source code, where help for the feature is explicitly suppressed (using SUPRESS_HELP)! There are 11 such options for which the help has also been explicitly disabled (e.g. --no-input).

I look through the history of the file, but did not find any mention of why the feature was hidden in the commit messages.

Is this an experimental feature which should not be relied upon? Should I not use (nor encourage others to use) these features or is there a different way of using these features? Could someone please shine some light on this conundrum?


This is a question which I had previously posted on StackOverflow hoping that there was an explanation along the lines that these options were only to be used if pip was invoked from other dependency management software.

However, that doesn't seem to be case, or at least it isn't common knowledge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions