Python mysqldb: Library not loaded: libmysqlclient.18.dylib
Question: I just compiled and installed mysqldb for python 2.7 on my mac os 10.6. I
created a simple test file that imports

    
    
    import MySQLdb as mysql
    

Firstly, this command is red underlined and the info tells me "Unresolved
import". Then I tried to run the following simple python code

    
    
    import MySQLdb as mysql
    
    def main():
        conn = mysql.connect( charset="utf8", use_unicode=True, host="localhost",user="root", passwd="",db="" )
    
    if __name__ == '__main__'():
        main()
    

When executing it I get the following error message

    
    
    Traceback (most recent call last):
      File "/path/to/project/Python/src/cvdv/TestMySQLdb.py", line 4, in <module>
        import MySQLdb as mysql
      File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 19, in <module>
        \namespace cvdv
      File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 7, in <module>
      File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 6, in __bootstrap__
    ImportError: dlopen(/Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
      Referenced from: /Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
      Reason: image not found
    

What might be the solution to my problem?

EDIT: Actually I found out that the library lies in /usr/local/mysql/lib. So I
need to tell my pydev eclipse version where to find it. Where do I set this?


Answer: I solved the problem by creating a symbolic link to the library. I.e.

The actual library resides in

    
    
    /usr/local/mysql/lib
    

And then I created a symbolic link in

    
    
    /usr/lib
    

Using the command:

    
    
    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
    

so that I have the following mapping:

    
    
    ls -l libmysqlclient.18.dylib 
    lrwxr-xr-x  1 root  wheel  44 16 Jul 14:01 libmysqlclient.18.dylib -> /usr/local/mysql/lib/libmysqlclient.18.dylib
    

That was it. After that everything worked fine.

EDIT:

Notice, to do this in El Capitan mac os release, you need disable SIP. Here is
hint how do it in final release:
<http://apple.stackexchange.com/a/208481/90910> .

