29 lines
999 B
Diff
29 lines
999 B
Diff
|
diff --git a/src/pip/_internal/__init__.py b/src/pip/_internal/__init__.py
|
||
|
index 8c0e4c58..76e280e5 100755
|
||
|
--- a/src/pip/_internal/__init__.py
|
||
|
+++ b/src/pip/_internal/__init__.py
|
||
|
@@ -1,2 +1,3 @@
|
||
|
#!/usr/bin/env python
|
||
|
import pip._internal.utils.inject_securetransport # noqa
|
||
|
+from pip._internal import main # noqa
|
||
|
diff --git a/src/pip/_internal/main.py b/src/pip/_internal/main.py
|
||
|
index 1e922402..e52e04d8 100644
|
||
|
--- a/src/pip/_internal/main.py
|
||
|
+++ b/src/pip/_internal/main.py
|
||
|
@@ -45,3 +45,15 @@ def main(args=None):
|
||
|
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
|
||
|
|
||
|
return command.main(cmd_args)
|
||
|
+
|
||
|
+
|
||
|
+# Dark magic to make the main module itself callable.
|
||
|
+# This is needed to be able to use this pip in ensurepip of older Pythons
|
||
|
+# without patching all the Pythons.
|
||
|
+
|
||
|
+class _CallableModule(sys.modules[__name__].__class__):
|
||
|
+ def __call__(self, *args, **kwargs):
|
||
|
+ return main(*args, **kwargs)
|
||
|
+
|
||
|
+
|
||
|
+sys.modules[__name__].__class__ = _CallableModule
|