7d92fe
diff --git a/tests/test_virtualenv.py b/tests/test_virtualenv.py
7d92fe
index ce45ede..7946a16 100644
7d92fe
--- a/tests/test_virtualenv.py
7d92fe
+++ b/tests/test_virtualenv.py
7d92fe
@@ -4,11 +4,16 @@ import os
7d92fe
 import shutil
7d92fe
 import sys
7d92fe
 import tempfile
7d92fe
+import zipfile
7d92fe
 import pytest
7d92fe
 import platform  # noqa
7d92fe
 
7d92fe
 from mock import patch, Mock
7d92fe
 
7d92fe
+try:
7d92fe
+    from pathlib import Path
7d92fe
+except ImportError:
7d92fe
+    from pathlib2 import Path
7d92fe
 
7d92fe
 def test_version():
7d92fe
     """Should have a version string"""
7d92fe
@@ -139,3 +144,44 @@ def test_always_copy_option():
7d92fe
                     " symlink (to %s)" % (full_name, os.readlink(full_name))
7d92fe
     finally:
7d92fe
         shutil.rmtree(tmp_virtualenv)
7d92fe
+
7d92fe
+
7d92fe
+def test_missing_certifi_pem(tmp_path):
7d92fe
+    """Make sure that we can still create virtual environment if pip is
7d92fe
+    patched to not use certifi's cacert.pem and the file is removed.
7d92fe
+    This can happen if pip is packaged by Linux distributions."""
7d92fe
+    proj_dir = Path(__file__).parent.parent
7d92fe
+    support_original = proj_dir / "virtualenv_support"
7d92fe
+    pip_wheel = sorted(support_original.glob("pip*whl"))[0]
7d92fe
+    whl_name = pip_wheel.name
7d92fe
+
7d92fe
+    wheeldir = tmp_path / "wheels"
7d92fe
+    wheeldir.mkdir()
7d92fe
+    tmpcert = tmp_path / "tmpcert.pem"
7d92fe
+    cacert = "pip/_vendor/requests/cacert.pem"
7d92fe
+    certifi = "pip/_vendor/requests/certs.py"
7d92fe
+    oldpath = b"os.path.join(os.path.dirname(__file__), 'cacert.pem')"
7d92fe
+    newpath = "r'{}'".format(tmpcert).encode()
7d92fe
+    removed = False
7d92fe
+    replaced = False
7d92fe
+
7d92fe
+    with zipfile.ZipFile(str(pip_wheel), "r") as whlin:
7d92fe
+        with zipfile.ZipFile(str(wheeldir / whl_name), "w") as whlout:
7d92fe
+            for item in whlin.infolist():
7d92fe
+                buff = whlin.read(item.filename)
7d92fe
+                if item.filename == cacert:
7d92fe
+                    tmpcert.write_bytes(buff)
7d92fe
+                    removed = True
7d92fe
+                    continue
7d92fe
+                if item.filename == certifi:
7d92fe
+                    nbuff = buff.replace(oldpath, newpath)
7d92fe
+                    assert nbuff != buff
7d92fe
+                    buff = nbuff
7d92fe
+                    replaced = True
7d92fe
+                whlout.writestr(item, buff)
7d92fe
+
7d92fe
+    assert removed and replaced
7d92fe
+
7d92fe
+    venvdir = tmp_path / "venv"
7d92fe
+    search_dirs = [str(wheeldir), str(support_original)]
7d92fe
+    virtualenv.create_environment(str(venvdir), search_dirs=search_dirs)
7d92fe
diff --git a/virtualenv.egg-info/PKG-INFO b/virtualenv.egg-info/PKG-INFO
7d92fe
index 11f5c75..501e81a 100644
7d92fe
--- a/virtualenv.egg-info/PKG-INFO
7d92fe
+++ b/virtualenv.egg-info/PKG-INFO
7d92fe
@@ -1,10 +1,12 @@
7d92fe
-Metadata-Version: 1.1
7d92fe
+Metadata-Version: 1.2
7d92fe
 Name: virtualenv
7d92fe
 Version: 15.1.0
7d92fe
 Summary: Virtual Python Environment builder
7d92fe
 Home-page: https://virtualenv.pypa.io/
7d92fe
-Author: Jannis Leidel, Carl Meyer and Brian Rosner
7d92fe
-Author-email: python-virtualenv@groups.google.com
7d92fe
+Author: Ian Bicking
7d92fe
+Author-email: ianb@colorstudy.com
7d92fe
+Maintainer: Jannis Leidel, Carl Meyer and Brian Rosner
7d92fe
+Maintainer-email: python-virtualenv@groups.google.com
7d92fe
 License: MIT
7d92fe
 Description: Virtualenv
7d92fe
         ==========
7d92fe
diff --git a/virtualenv.py b/virtualenv.py
7d92fe
index a174b8a..5699998 100755
7d92fe
--- a/virtualenv.py
7d92fe
+++ b/virtualenv.py
7d92fe
@@ -861,7 +861,10 @@ def install_wheel(project_names, py_executable, search_dirs=None,
7d92fe
 
7d92fe
         import pip
7d92fe
 
7d92fe
-        cert_data = pkgutil.get_data("pip._vendor.requests", "cacert.pem")
7d92fe
+        try:
7d92fe
+            cert_data = pkgutil.get_data("pip._vendor.requests", "cacert.pem")
7d92fe
+        except IOError:
7d92fe
+            cert_data = None
7d92fe
         if cert_data is not None:
7d92fe
             cert_file = tempfile.NamedTemporaryFile(delete=False)
7d92fe
             cert_file.write(cert_data)