On Wed, Aug 14, 2019 at 1:48 AM Larry Martell <larry.mart...@gmail.com> wrote: > > On Tue, Aug 13, 2019 at 9:59 AM Chris Angelico <ros...@gmail.com> wrote: > > > > On Tue, Aug 13, 2019 at 11:33 PM Larry Martell <larry.mart...@gmail.com> > > wrote: > > > > > > I am trying to install MySQLdb (https://pypi.org/project/mysqlclient/) > > > for python3.6 on RHEL7. > > > > > > When I import it, it fails: > > > > > > # python3.6 > > > Python 3.6.8 (default, Jun 11 2019, 15:15:01) > > > [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux > > > Type "help", "copyright", "credits" or "license" for more information. > > > >>> import MySQLdb > > > Traceback (most recent call last): > > > File "<stdin>", line 1, in <module> > > > File > > > "/usr/local/lib64/python3.6/site-packages/mysqlclient-1.4.4-py3.6-linux-x86_64.egg/MySQLdb/__init__.py", > > > line 18, in <module> > > > from . import _mysql > > > ImportError: > > > /usr/local/lib64/python3.6/site-packages/mysqlclient-1.4.4-py3.6-linux-x86_64.egg/MySQLdb/_mysql.cpython-36m-x86_64-linux-gnu.so: > > > undefined symbol: mysql_kill > > > > > > Has anyone seen and resolved this? > > > > Not specifically, but that looks like a versioning conflict. Most > > likely, your mysqlclient is too old for MySQLdb to connect to. > > > > Did you get one of them from your system package manager and the other > > from pip? If so, try to get both from the same place. > > So I have MySQL from the system package manager, but mysqlclient is > not available there.
That seems very odd. The mysqlclient binary might be just under a different name? I'm not familiar with RHEL, but on my Debian, there are packages like "mysql-server-5.7" and corresponding "mysql-client-5.7". Or do you mean the Python client? > And I was not able to get that from pip either, > as the install failed. I had to download the source, edit the site.cfg > file and build it. But I just found python36-mysql.x86_64 as a package > so I uninstalled mysqlclient and installed that from the repo. Based on this, I'm thinking possibly you meant the Python client. It may still be that you need to install the C client for the Python one to connect to. Although.... if you got python36-mysql from your system repo, that ought to drag in the appropriate mysqlclient. So now I'm very confused. > That did not get the above error, but now I get this: > > raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is > required; you have %s.' % Database.__version__) > django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or > newer is required; you have 1.3.12. This claims to be a Django error, though, so maybe the issue here isn't with MySQLdb but with Django?? Maybe everything up above is actually correctly matched, but too old? ChrisA -- https://mail.python.org/mailman/listinfo/python-list