Don't suggest --user in virtual environment

This commit is contained in:
Tzu-ping Chung 2021-01-01 21:57:45 +08:00 committed by Xavier Fernandez
parent 0f537c8d62
commit d878727772
3 changed files with 10 additions and 3 deletions

2
news/9409.bugfix.rst Normal file
View File

@ -0,0 +1,2 @@
``--user`` is no longer suggested incorrectly when pip fails with a permission
error in a virtual environment.

View File

@ -35,7 +35,10 @@ from pip._internal.utils.misc import (
write_output,
)
from pip._internal.utils.temp_dir import TempDirectory
from pip._internal.utils.virtualenv import virtualenv_no_global
from pip._internal.utils.virtualenv import (
running_under_virtualenv,
virtualenv_no_global,
)
from pip._internal.wheel_builder import (
BinaryAllowedPredicate,
build,
@ -725,7 +728,7 @@ def create_os_error_message(error, show_traceback, using_user_site):
user_option_part = "Consider using the `--user` option"
permissions_part = "Check the permissions"
if not using_user_site:
if not running_under_virtualenv() and not using_user_site:
parts.extend([
user_option_part, " or ",
permissions_part.lower(),

View File

@ -4,6 +4,7 @@ from unittest.mock import patch
import pytest
from pip._vendor.packaging.requirements import Requirement
from pip._internal.commands import install
from pip._internal.commands.install import (
create_os_error_message,
decide_user_install,
@ -109,7 +110,8 @@ def test_rejection_for_location_requirement_options():
' permissions.\n'),
])
def test_create_os_error_message(
error, show_traceback, using_user_site, expected
monkeypatch, error, show_traceback, using_user_site, expected
):
monkeypatch.setattr(install, "running_under_virtualenv", lambda: False)
msg = create_os_error_message(error, show_traceback, using_user_site)
assert msg == expected