diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index e346de5..48dd0bf 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -12,6 +12,7 @@
 * **BACKWARDS INCOMPATIBLE:** ``Whirlpool``, ``RIPEMD160``, and
   ``UnsupportedExtension`` have been removed in accordance with our
   :doc:`/api-stability` policy.
+* Installing ``cryptography`` now requires ``pip`` 6 or newer.
 * Deprecated passing unicode to the :class:`~cryptography.x509.DNSName`
   constructor. Instead, users should pass DNS names as ``bytes``, with ``idna``
   encoding if necessary. In addition, the
diff --git a/setup.py b/setup.py
index fbc7f22..692313f 100644
--- a/setup.py
+++ b/setup.py
@@ -33,17 +33,8 @@
 
 VECTORS_DEPENDENCY = "cryptography_vectors=={0}".format(about['__version__'])
 
-requirements = [
-    "idna>=2.1",
-    "asn1crypto>=0.21.0",
-    "six>=1.4.1",
-]
 setup_requirements = []
 
-if sys.version_info < (3,):
-    requirements.append("enum34")
-    requirements.append("ipaddress")
-
 if platform.python_implementation() == "PyPy":
     if sys.pypy_version_info < (5, 3):
         raise RuntimeError(
@@ -51,7 +42,6 @@
             "upgrade PyPy to use this library."
         )
 else:
-    requirements.append("cffi>=1.7")
     setup_requirements.append("cffi>=1.7")
 
 test_requirements = [
@@ -285,9 +275,16 @@
     packages=find_packages(where="src", exclude=["_cffi_src", "_cffi_src.*"]),
     include_package_data=True,
 
-    install_requires=requirements,
+    install_requires=[
+        "idna >= 2.1",
+        "asn1crypto >= 0.21.0",
+        "six >= 1.4.1",
+    ],
     tests_require=test_requirements,
     extras_require={
+        ":python_version < '3'": ["enum34", "ipaddress"],
+        ":python_implementation != 'PyPy'": ["cffi >= 1.7"],
+
         "test": test_requirements,
         "docstest": [
             "doc8",
