Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python lib/python2.7/lib-dynload/_io.so: undefined symbol: _PyErr_ReplaceException

I'm trying to set up an SSL certificate with letsencrypt, but when I run it I get the following:

user@box:/opt/letsencrypt$ ./letsencrypt-auto --apache -d example.com
Updating letsencrypt and virtual environment dependencies...Traceback (most recent call last):
  File "/home/user/.local/share/letsencrypt/bin/pip", line 7, in <module>
from pip import main
  File "/home/user/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/__init__.py", line 13, in <module>
from pip.utils import get_installed_distributions, get_prog
  File "/home/user/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 15, in <module>
import zipfile
  File "/usr/lib/python2.7/zipfile.py", line 6, in <module>
import io
  File "/usr/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: /home/user/.local/share/letsencrypt/lib/python2.7/lib-dynload/_io.so: undefined symbol: _PyErr_ReplaceException

Python -V returns Python 2.7.11.

I've tried a lot of other threads and not managed to get it to work.

like image 323
jacob21 Avatar asked Oct 30 '22 11:10

jacob21


1 Answers

Sounds like io module is being loaded with against wrong version of libpython.

Here's how it looks on my system, io uses that symbol and libpython provides it:

air:~ dima$ nm  /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so | grep -i replaceex
                 U __PyErr_ReplaceException
air:~ dima$ nm /Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib | grep -i replaceex
00000000000d03a0 T __PyErr_ReplaceException
like image 53
Dima Tisnek Avatar answered Nov 02 '22 09:11

Dima Tisnek