diff -r 6e240b661ab5 Lib/ensurepip/__init__.py --- a/Lib/ensurepip/__init__.py Mon Feb 24 09:27:16 2014 +0100 +++ b/Lib/ensurepip/__init__.py Mon Feb 24 22:15:31 2014 +1000 @@ -128,9 +128,10 @@ # If the pip version doesn't match the bundled one, leave it alone if pip.__version__ != _PIP_VERSION: - msg = ("ensurepip will only uninstall a matching pip " + msg = ("ensurepip will only uninstall a matching version " "({!r} installed, {!r} bundled)") - raise RuntimeError(msg.format(pip.__version__, _PIP_VERSION)) + print(msg.format(pip.__version__, _PIP_VERSION), file=sys.stderr) + return _require_ssl_for_pip() _disable_pip_configuration_settings() diff -r 6e240b661ab5 Lib/test/test_ensurepip.py --- a/Lib/test/test_ensurepip.py Mon Feb 24 09:27:16 2014 +0100 +++ b/Lib/test/test_ensurepip.py Mon Feb 24 22:15:31 2014 +1000 @@ -196,10 +196,12 @@ ensurepip._uninstall_helper() self.run_pip.assert_not_called() - def test_uninstall_fails_with_wrong_version(self): + def test_uninstall_skipped_with_warning_for_wrong_version(self): with fake_pip("not a valid version"): - with self.assertRaises(RuntimeError): + with test.support.captured_stderr() as stderr: ensurepip._uninstall_helper() + warning = stderr.getvalue().strip() + self.assertIn("only uninstall a matching version", warning) self.run_pip.assert_not_called()