Skip to content

--no-clean and --build are broken #2060

@gwideman

Description

@gwideman

Pip version 1.5.6
Python 3.4
Windows 7-64

pip install help advertises options:

--no-clean to prevent pip from deleting the build directory and contents, and
-b (--build) to specify build directory

and the help for -b says "The default in a virtualenv is "[venv path]/build". The default for global installs is "[OS temp dir]/pip_build_[username]".

On Windows, and from a virtual env, when I run:

pip install -b [some existing path] --no-clean [somepackage].whl

... pip actually uses C:/Users/[me]/AppData/Local/Temp/pip-[random]-build/[packagename] as the build directory, and deletes it when done.

So:

--no-clean is broken
-b (--build) is broken
--build's help text about default build path seems to be incorrect.

From my not-too-thorough inspection, the problem appears to be that the code that deterimines build path and clean behavior is in req.py, and ignores the no_clean and build_dir settings. Code in install.py that does pay attention to no_clean and build_dir is pre-empted.

I'm assuming that some refactoring of the code broke these features.

I realize that build_dir and no_clean are deprecated (and pip shows a message to that effect), but if they are broken then they should not be reported as deprecated.

Further, issue #906 discusses this deprecation, in which a number of users request that no_clean NOT be removed. I add my vote to that, as it's useful for troubleshooting build steps that went wrong. The current issue that I'm raising is a case in point!

Metadata

Metadata

Assignees

No one assigned

    Labels

    auto-lockedOutdated issues that have been locked by automation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions