32

I am using OSX 10.8 and PyCharm to work on a Python development project. I have installed MySQL-python for the mac using the instructions on the website

http://blog.infoentropy.com/MySQL-python_EnvironmentError_mysql_config_not_found

However, running the project gives me this error:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/ashishagarwal/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): Symbol not found: _mysql_affected_rows
 Referenced from: /Users/ashishagarwal/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
 Expected in: flat namespace
 in /Users/ashishagarwal/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so

The file mentioned int the error exists at the location - /Users/ashishagarwal/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so

The entire error message is -

/usr/local/bin/python2.7-32 /Users/ashishagarwal/Optimus/MashPotato/backend/mashpotato/manage.py testserver --addrport 8000
Running on development server
Traceback (most recent call last):
 File "/Users/ashishagarwal/Optimus/MashPotato/backend/mashpotato/manage.py", line 10, in <module>
 execute_from_command_line(sys.argv)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
 utility.execute()
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
 self.fetch_command(subcommand).run_from_argv(self.argv)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
 klass = load_command_class(app_name, subcommand)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_class
 module = import_module('%s.management.commands.%s' % (app_name, name))
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
 __import__(name)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/south/management/commands/__init__.py", line 10, in <module>
 import django.template.loaders.app_directories
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/loaders/app_directories.py", line 23, in <module>
 mod = import_module(app)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
 __import__(name)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 3, in <module>
 from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/helpers.py", line 4, in <module>
 from django.contrib.admin.util import (flatten_fieldsets, lookup_field,
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/util.py", line 6, in <module>
 from django.db import models
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>
 backend = load_backend(connection.settings_dict['ENGINE'])
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
 return getattr(connections[DEFAULT_DB_ALIAS], item)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__
 backend = load_backend(db['ENGINE'])
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py", line 27, in load_backend
 return import_module('.base', backend_name)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
 __import__(name)
 File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>
 raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/ashishagarwal/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): Symbol not found: _mysql_affected_rows
 Referenced from: /Users/ashishagarwal/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
 Expected in: flat namespace
 in /Users/ashishagarwal/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
Process finished with exit code 1
asked Jul 11, 2013 at 17:31
1

4 Answers 4

85

You should install MySQL through Homebrew first, to get python-mysql work properly on OS X.

pip uninstall MySQL-python
brew install mysql
pip install MySQL-python
answered Jul 25, 2013 at 0:44
Sign up to request clarification or add additional context in comments.

4 Comments

can you give the reason for this?
The package compiles from source and need the mysql development headers. When you install the mysql package with homebrew, these will be installed also.
You have no idea of how much time you saved me! Thank you a lot!
Caught with partially installed, dueling configs between brew and pip. I had to do the following: $ brew link mysql Linking /usr/local/Cellar/mysql/5.7.20... Error: Could not symlink bin/my_print_defaults Target /usr/local/bin/my_print_defaults is a symlink belonging to mysql-connector-c. You can unlink it: brew unlink mysql-connector-c $ brew unlink mysql-connector-c Unlinking /usr/local/Cellar/mysql-connector-c/6.1.11... 48 symlinks removed $ brew link mysql Linking /usr/local/Cellar/mysql/5.7.20... 93 symlinks created $ pip install MySQL-python
0

Make sure you have the most recent version of Xcode including Command Line Tools. I simply downloaded the 2GB update from the app store. I had a similar problem, specifically this, and that fixed it.

Cheers!

answered Jan 6, 2014 at 20:21

Comments

0

I installed mysql a long time ago with homebrew so when I ran into trouble now after upgrading OSX I reinstalled it again with brew reinstall [email protected] (I ran 5.7.10) and reinstalled MySQL-python I expected it to be resolved. Got the error mentioned above.

It really did my head in and after spending several hours on it I had no idea what to do, rebuilt from source and everything. Tried other python apps for mysql but it was the same thing.

I somehow realised that the client being built by MySQL-python was against the wrong version so I checked where the /usr/local/opt/mysql was linked to and there it was, it was linked to a previous version which I had installed via dmg like 7 years ago! Once I removed that link and then ran brew link mysql and then created a new virtualenv and installed all the packages from scratch it finally worked!

answered Jan 16, 2019 at 7:37

Comments

-1

if you use python like:

import mysql.connector

you have to download mysql Connector first here is the link link

answered Jan 8, 2016 at 8:23

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.