| import sys |
| from typing import List, Optional |
| |
| from pip._internal.cli.main import main |
| |
| |
| def _wrapper(args: Optional[List[str]] = None) -> int: |
| """Central wrapper for all old entrypoints. |
| |
| Historically pip has had several entrypoints defined. Because of issues |
| arising from PATH, sys.path, multiple Pythons, their interactions, and most |
| of them having a pip installed, users suffer every time an entrypoint gets |
| moved. |
| |
| To alleviate this pain, and provide a mechanism for warning users and |
| directing them to an appropriate place for help, we now define all of |
| our old entrypoints as wrappers for the current one. |
| """ |
| sys.stderr.write( |
| "WARNING: pip is being invoked by an old script wrapper. This will " |
| "fail in a future version of pip.\n" |
| "Please see https://github.com/pypa/pip/issues/5599 for advice on " |
| "fixing the underlying issue.\n" |
| "To avoid this problem you can invoke Python with '-m pip' instead of " |
| "running pip directly.\n" |
| ) |
| return main(args) |