summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Hunt <chrahunt@gmail.com>2019-11-05 21:17:19 -0500
committerChris Hunt <chrahunt@gmail.com>2019-11-07 18:31:04 -0500
commit89f6e4fcd581ecb38c6194a372c6acdf39081c8f (patch)
treea526f7f451ee6fa29ec12ee71d94a15d719e7d7e
parentef203098677479491281e950438efcb15b3f2637 (diff)
downloadpip-89f6e4fcd581ecb38c6194a372c6acdf39081c8f.tar.gz
Deprecate setup.py-based builds that do not make .egg-info
-rw-r--r--news/6998.removal1
-rw-r--r--src/pip/_internal/req/req_install.py20
2 files changed, 17 insertions, 4 deletions
diff --git a/news/6998.removal b/news/6998.removal
new file mode 100644
index 000000000..7c38a48fd
--- /dev/null
+++ b/news/6998.removal
@@ -0,0 +1 @@
+Deprecate setup.py-based builds that do not generate an ``.egg-info`` directory.
diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
index fdd85a1e2..1029b8cf7 100644
--- a/src/pip/_internal/req/req_install.py
+++ b/src/pip/_internal/req/req_install.py
@@ -28,6 +28,7 @@ from pip._internal.operations.build.metadata import get_metadata_generator
from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path
from pip._internal.req.req_uninstall import UninstallPathSet
from pip._internal.utils.compat import native_str
+from pip._internal.utils.deprecation import deprecated
from pip._internal.utils.hashes import Hashes
from pip._internal.utils.logging import indent_log
from pip._internal.utils.marker_files import (
@@ -932,10 +933,21 @@ class InstallRequirement(object):
egg_info_dir = prepend_root(directory)
break
else:
- logger.warning(
- 'Could not find .egg-info directory in install record'
- ' for %s',
- self,
+ deprecated(
+ reason=(
+ "{} did not indicate that it installed an "
+ ".egg-info directory. Only setup.py projects "
+ "generating .egg-info directories are supported."
+ ).format(self),
+ replacement=(
+ "for maintainers: updating the setup.py of {0}. "
+ "For users: contact the maintainers of {0} to let "
+ "them know to update their setup.py.".format(
+ self.name
+ )
+ ),
+ gone_in="20.2",
+ issue=6998,
)
# FIXME: put the record somewhere
return