32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
import os
|
|
import sys
|
|
import warnings
|
|
|
|
# Remove '' and current working directory from the first entry
|
|
# of sys.path, if present to avoid using current directory
|
|
# in pip commands check, freeze, install, list and show,
|
|
# when invoked as python -m pip <command>
|
|
if sys.path[0] in ("", os.getcwd()):
|
|
sys.path.pop(0)
|
|
|
|
# If we are running from a wheel, add the wheel to sys.path
|
|
# This allows the usage python pip-*.whl/pip install pip-*.whl
|
|
if __package__ == "":
|
|
# __file__ is pip-*.whl/pip/__main__.py
|
|
# first dirname call strips of '/__main__.py', second strips off '/pip'
|
|
# Resulting path is the name of the wheel itself
|
|
# Add that to sys.path so we can import pip
|
|
path = os.path.dirname(os.path.dirname(__file__))
|
|
sys.path.insert(0, path)
|
|
|
|
if __name__ == "__main__":
|
|
# Work around the error reported in #9540, pending a proper fix.
|
|
# Note: It is essential the warning filter is set *before* importing
|
|
# pip, as the deprecation happens at import time, not runtime.
|
|
warnings.filterwarnings(
|
|
"ignore", category=DeprecationWarning, module=".*packaging\\.version"
|
|
)
|
|
from pip._internal.cli.main import main as _main
|
|
|
|
sys.exit(_main())
|