Certificate verification when using virtual environments
<p>I have a root CA certificate installed on my machine and all is fine when issuing a requests when using the system install of the requests library:   </p>

<pre><code>$ python -c 'import requests; print requests.get("https://example.com")'
&lt;Response [200]&gt;
</code></pre>

<p>However if I issue the same request from within a virtual environment the certificate verification fails: </p>

<pre><code>$ python -c 'import requests; print requests.get("https://example.com")'
requests.exceptions.SSLError: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
</code></pre>

<p>Using <code>requests.certs.where</code> I can see the system install uses the systems CA bundle and the virtual environment uses the CA bundle shipped with requests:</p>

<pre><code>$ python -c "import requests; print requests.certs.where()"
/etc/ssl/certs/ca-certificates.crt

$ (venv) python -c "import requests; print requests.certs.where()"                                                            
.../venv/local/lib/python2.7/site-packages/requests/cacert.pem
</code></pre>

<p>Is there another solution to picking up the system certs without providing the path on each request when using <code>virtualenv</code>, i.e:</p>

<pre><code>&gt;&gt;&gt; requests.get("https://example.com" verify="/etc/ssl/certs/ca-certificates.crt")
</code></pre>