-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
auto-lockedOutdated issues that have been locked by automationOutdated issues that have been locked by automationresolution: duplicateDuplicate of an existing issue/PRDuplicate of an existing issue/PRtype: bugA confirmed bug or unintended behaviorA confirmed bug or unintended behavior
Description
- Pip version: 8.1.2
- Python version: 3.5.2
- Operating System: Arch Linux
pip will happily overwrite files it does not manage, e.g. in ~/.local/bin
Trivial example:
$ python2 -mpip install --user pipdeptree && python3 -mpip install --user pipdeptree
The second invocation overwrites ~/.local/bin/pipdeptree
.
While this example just involves two different versions of Python, the overwritten file may very well not have anything to do with Python, which can lead to a lot of head-scratching.
It would be much nicer if pip simply refused, by default, to overwrite files it did not install (it, meaning including whichever version/venv of python is actually running). It can always print something like "Installing requires overwriting the following file(s), that I am not aware of. Re-run with --force-overwrite to overwrite them.".
Metadata
Metadata
Assignees
Labels
auto-lockedOutdated issues that have been locked by automationOutdated issues that have been locked by automationresolution: duplicateDuplicate of an existing issue/PRDuplicate of an existing issue/PRtype: bugA confirmed bug or unintended behaviorA confirmed bug or unintended behavior