2018-11-22 12:26:40 +00:00
|
|
|
diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py
|
|
|
|
index 1279d4a..aeb9d26 100644
|
|
|
|
--- a/src/pip/_internal/commands/install.py
|
|
|
|
+++ b/src/pip/_internal/commands/install.py
|
|
|
|
@@ -5,6 +5,8 @@ import logging
|
2018-07-23 15:22:50 +00:00
|
|
|
import operator
|
|
|
|
import os
|
2017-02-23 11:16:46 +00:00
|
|
|
import shutil
|
|
|
|
+import sys
|
|
|
|
+from os import path
|
2018-07-23 15:22:50 +00:00
|
|
|
from optparse import SUPPRESS_HELP
|
|
|
|
|
|
|
|
from pip._vendor import pkg_resources
|
2019-06-10 11:09:38 +00:00
|
|
|
@@ -217,6 +219,23 @@ class InstallCommand(RequirementCommand):
|
2018-11-22 12:26:40 +00:00
|
|
|
|
2018-07-23 15:22:50 +00:00
|
|
|
def run(self, options, args):
|
2017-02-16 10:48:01 +00:00
|
|
|
cmdoptions.check_install_build_global(options)
|
2018-11-22 12:26:40 +00:00
|
|
|
+
|
2017-03-03 14:15:18 +00:00
|
|
|
+ def is_venv():
|
2018-11-22 12:26:40 +00:00
|
|
|
+ return (hasattr(sys, 'real_prefix') or
|
|
|
|
+ (hasattr(sys, 'base_prefix') and
|
|
|
|
+ sys.base_prefix != sys.prefix))
|
2017-03-03 14:15:18 +00:00
|
|
|
+
|
|
|
|
+ # Check whether we have root privileges and aren't in venv/virtualenv
|
|
|
|
+ if os.getuid() == 0 and not is_venv():
|
2019-06-10 11:09:38 +00:00
|
|
|
+ command = path.basename(sys.argv[0])
|
|
|
|
+ if command == "__main__.py":
|
|
|
|
+ command = path.basename(sys.executable) + " -m pip"
|
2017-02-16 10:48:01 +00:00
|
|
|
+ logger.warning(
|
2019-06-10 12:50:04 +00:00
|
|
|
+ "Running pip install with root privileges is "
|
2017-02-23 11:16:46 +00:00
|
|
|
+ "generally not a good idea. Try `%s install --user` instead."
|
2019-06-10 11:09:38 +00:00
|
|
|
+ % command
|
2017-02-16 10:48:01 +00:00
|
|
|
+ )
|
|
|
|
+
|
2018-07-23 15:22:50 +00:00
|
|
|
upgrade_strategy = "to-satisfy-only"
|
|
|
|
if options.upgrade:
|
|
|
|
upgrade_strategy = options.upgrade_strategy
|