试图设置一个干净的Mac OS X 10.6安装来开发python / django,我不记得在10.5上遇到过这个问题。
从mysql-5.5.8-osx10.6-x86_64.dmg我的安装程序安装MySQL后
mysql-5.5.8-osx10.6-x86_64.dmg
$ sudo pip install MySQL-python
似乎进展顺利(以下输出)
Downloading/unpacking MySQL-python Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded Running setup.py egg_info for package MySQL-python warning: no files found matching 'MANIFEST' warning: no files found matching 'ChangeLog' warning: no files found matching 'GPL' Installing collected packages: MySQL-python Running setup.py install for MySQL-python building '_mysql' extension gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -Os -g -fno-common -fno-strict-aliasing -arch x86_64 In file included from _mysql.c:36: /usr/local/mysql/include/my_config.h:325:1: warning: "SIZEOF_SIZE_T" redefined In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:9, from pymemcompat.h:10, from _mysql.c:29: /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pymacconfig.h:33:1: warning: this is the location of the previous definition In file included from _mysql.c:36: /usr/local/mysql/include/my_config.h:419:1: warning: "HAVE_WCSCOLL" redefined In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8, from pymemcompat.h:10, from _mysql.c:29: /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:803:1: warning: this is the location of the previous definition gcc-4.2 -Wl,-F. -bundle -undefined dynamic_lookup build/temp.macosx-10.6-universal-2.6/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lpthread -o build/lib.macosx-10.6-universal-2.6/_mysql.so -arch x86_64 warning: no files found matching 'MANIFEST' warning: no files found matching 'ChangeLog' warning: no files found matching 'GPL' Successfully installed MySQL-python Cleaning up...
在此之后,我尝试:
$ python -c "import MySQLdb"
它通过以下方式对我产生了负面影响:
Traceback (most recent call last): File "<string>", line 1, in <module> File "/Library/Python/2.6/site-packages/MySQLdb/__init__.py", line 19, in <module> import _mysql ImportError: dlopen(/Library/Python/2.6/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib Referenced from: /Library/Python/2.6/site-packages/_mysql.so Reason: image not found
我做错了什么/我还需要做什么?
对此进行谷歌搜索(并在此处搜索)会返回很多结果,而使用Ruby会收到此错误消息,而使用Python则不会太多。
_mysql.so是指libmysqlclient.16.dylib。也就是说,充当Python和MySQL客户端库之间的桥梁的共享库是_mysql.so指MySQL客户端库的动态库,并且由于某种原因而无法加载该库。
_mysql.so
libmysqlclient.16.dylib
您需要回答的问题:
DYLD_LIBRARY_PATH
/opt/local/lib/mysql5/mysql/libmysqlclient.16.dylib
c79ee91af08057dfc269ee212915801a