0

在安装 MySQLdb 时遇到了很大的麻烦(由于 32 位和 64 位架构之间的不兼容),我现在遇到了另一个奇怪的问题,我在网上找不到解决方案。

import MySQLdb在中工作正常,ipython qtconsole但在ipython notebook. 在后者中,我收到以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-dd22983d5391> in <module>()
----> 1 import MySQLdb

/Users/username/anaconda/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.5-x86_64.egg/MySQLdb/__init__.py in <module>()
     17 from MySQLdb.release import __version__, version_info, __author__
     18 
---> 19 import _mysql
     20 
     21 if version_info != _mysql.version_info:

ImportError: dlopen(/Users/username/anaconda/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.5-x86_64.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/username/anaconda/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.5-x86_64.egg/_mysql.so
  Reason: image not found 

libmysqlclient.18.dylib位于$DYLD_LIBRARY_PATH.

例如:$echo $DYLD_LIBRARY_PATH退货

:/usr/local/mysql/lib/:/usr/local/mysql/lib/

有什么想法可以解决这个问题,或者这是否是ipython notebook错误。

4

1 回答 1

0

这是一个老问题,但以防万一其他人正在努力安装 MySQLdb ......

有一个名为“pymysql”的纯python mysql驱动程序。您通常可以将它用作 MySQLdb 的替代品。它更容易安装,因为它不需要任何二进制文件。

更多细节在这里:什么是 PyMySQL,它与 MySQLdb 有何不同?它会影响 Django 部署吗?

于 2013-09-23T18:04:43.907 回答