Don't warn the user about pip._internal.main() entrypoint to fix ensurepip
This commit is contained in:
parent
abb97d98f6
commit
eb1cbbd764
72
nowarn-pip._internal.main.patch
Normal file
72
nowarn-pip._internal.main.patch
Normal file
@ -0,0 +1,72 @@
|
||||
From 7c36cb21910b415e0eb171d0f6c4dbf72382fdaf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Tue, 10 Mar 2020 11:03:22 +0100
|
||||
Subject: [PATCH] Don't warn the user about pip._internal.main() entrypoint
|
||||
|
||||
In Fedora, we use that in ensurepip and users cannot do anything about it,
|
||||
this warning is juts moot. Also, the warning breaks CPython test suite.
|
||||
---
|
||||
src/pip/_internal/__init__.py | 2 +-
|
||||
src/pip/_internal/utils/entrypoints.py | 19 ++++++++++---------
|
||||
tests/functional/test_cli.py | 3 ++-
|
||||
3 files changed, 13 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/pip/_internal/__init__.py b/src/pip/_internal/__init__.py
|
||||
index 3aa8a46..0ec017b 100755
|
||||
--- a/src/pip/_internal/__init__.py
|
||||
+++ b/src/pip/_internal/__init__.py
|
||||
@@ -15,4 +15,4 @@ def main(args=None):
|
||||
"""
|
||||
from pip._internal.utils.entrypoints import _wrapper
|
||||
|
||||
- return _wrapper(args)
|
||||
+ return _wrapper(args, _nowarn=True)
|
||||
diff --git a/src/pip/_internal/utils/entrypoints.py b/src/pip/_internal/utils/entrypoints.py
|
||||
index befd01c..d6f3632 100644
|
||||
--- a/src/pip/_internal/utils/entrypoints.py
|
||||
+++ b/src/pip/_internal/utils/entrypoints.py
|
||||
@@ -7,7 +7,7 @@ if MYPY_CHECK_RUNNING:
|
||||
from typing import Optional, List
|
||||
|
||||
|
||||
-def _wrapper(args=None):
|
||||
+def _wrapper(args=None, _nowarn=False):
|
||||
# type: (Optional[List[str]]) -> int
|
||||
"""Central wrapper for all old entrypoints.
|
||||
|
||||
@@ -20,12 +20,13 @@ def _wrapper(args=None):
|
||||
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"
|
||||
- )
|
||||
+ if not _nowarn:
|
||||
+ 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)
|
||||
diff --git a/tests/functional/test_cli.py b/tests/functional/test_cli.py
|
||||
index e416315..7f57f67 100644
|
||||
--- a/tests/functional/test_cli.py
|
||||
+++ b/tests/functional/test_cli.py
|
||||
@@ -31,4 +31,5 @@ def test_entrypoints_work(entrypoint, script):
|
||||
result = script.pip("-V")
|
||||
result2 = script.run("fake_pip", "-V", allow_stderr_warning=True)
|
||||
assert result.stdout == result2.stdout
|
||||
- assert "old script wrapper" in result2.stderr
|
||||
+ if entrypoint[0] != "fake_pip = pip._internal:main":
|
||||
+ assert "old script wrapper" in result2.stderr
|
||||
--
|
||||
2.24.1
|
||||
|
@ -16,7 +16,7 @@ Name: python-%{srcname}
|
||||
# When updating, update the bundled libraries versions bellow!
|
||||
# You can use vendor_meta.sh in the dist git repo
|
||||
Version: 20.0.2
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: A tool for installing and managing Python packages
|
||||
|
||||
# We bundle a lot of libraries with pip, which itself is under MIT license.
|
||||
@ -91,6 +91,11 @@ Patch3: remove-existing-dist-only-if-path-conflicts.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1655253
|
||||
Patch4: dummy-certifi.patch
|
||||
|
||||
# Don't warn the user about pip._internal.main() entrypoint
|
||||
# In Fedora, we use that in ensurepip and users cannot do anything about it,
|
||||
# this warning is juts moot. Also, the warning breaks CPython test suite.
|
||||
Patch5: nowarn-pip._internal.main.patch
|
||||
|
||||
# Downstream only patch
|
||||
# Users might have local installations of pip from using
|
||||
# `pip install --user --upgrade pip` on older/newer versions.
|
||||
@ -250,6 +255,7 @@ popd
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
# this goes together with patch4
|
||||
rm src/pip/_vendor/certifi/*.pem
|
||||
@ -378,6 +384,9 @@ ln -sf %{buildroot}%{_bindir}/pip3 _bin/pip
|
||||
%{python_wheeldir}/%{python_wheelname}
|
||||
|
||||
%changelog
|
||||
* Tue Mar 10 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-2
|
||||
- Don't warn the user about pip._internal.main() entrypoint to fix ensurepip
|
||||
|
||||
* Mon Mar 02 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-1
|
||||
- Update to 20.0.2 (#1793456)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user