---
slug: "python3でrequests(_ssl)がimportできなくなった場合(mac)"
title: "What to Do When You Can't Import `requests` (_ssl) in Python 3 on a Mac"
description: "Fix an `import requests` failure caused by a missing `_ssl` module in Python 3 on macOS — rebuild Python via pyenv so it links against the system OpenSSL."
url: "https://www.ytyng.com/en/blog/python3でrequests(_ssl)がimportできなくなった場合(mac)"
publish_date: "2015-06-17T11:08:24Z"
created: "2015-06-17T11:08:24Z"
updated: "2026-05-11T13:03:05.611Z"
categories: ["Python"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/77313fe6d23e4e61b3094186896eb262.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "en"
---

# What to Do When You Can't Import `requests` (_ssl) in Python 3 on a Mac

<div class="document">


<pre class="literal-block">Traceback (most recent call last):
  File "/Applications/Develop/PyCharm.app/helpers/pycharm/django_test_manage.py", line 51, in &lt;module&gt;
    django.setup()
  ...
  File "/usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "&lt;frozen importlib._bootstrap&gt;", line 2254, in _gcd_import
  File "&lt;frozen importlib._bootstrap&gt;", line 2237, in _find_and_load
  File "&lt;frozen importlib._bootstrap&gt;", line 2226, in _find_and_load_unlocked
  File "&lt;frozen importlib._bootstrap&gt;", line 1200, in _load_unlocked
  File "&lt;frozen importlib._bootstrap&gt;", line 1129, in _exec
  File "&lt;frozen importlib._bootstrap&gt;", line 1471, in exec_module
  File "&lt;frozen importlib._bootstrap&gt;", line 321, in _call_with_frames_removed
  ...
  File "/usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/ssl.py", line 97, in &lt;module&gt;
    import _ssl             # if we can't import it, let the error propagate
ImportError: dlopen(/usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_ssl.so, 2): Symbol not found: _SSLv2_method
  Referenced from: /usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_ssl.so
  Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
 in /usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload/_ssl.so
</pre>
<p>I started getting this error.</p>
<p>After reinstalling python with brew and recreating the virtualenv, the issue was resolved.</p>
<pre class="literal-block">$ brew unlink python3
$ brew install python3

$ rm -r .virtualenvs/myvirtualenv

$ pyvenv-3.4 .virtualenvs/myvirtualenv
$ workon myvirtualenv
$ pip install --upgrade pip
$ pip install -r requirements.txt
...
</pre>
<p>* After running brew install python, I encountered another issue when starting vim:</p>
<pre class="literal-block">    import io as _io
  File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in &lt;module&gt;
    import _io
ImportError: dlopen(/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyErr_ReplaceException
</pre>
<p>Since I encountered this error, I uninstalled python using brew uninstall python.</p>
</div>
