在Mac OS X Lion上设置MySQLdb时遇到问题,以支持Django

时间:2011-09-30 01:53:53

标签: python mysql django macos mysql-python

所以我很确定我已经成功完成了我的MySQLdb安装。我在全新安装的OS X Lion上正确安装了以下所有内容:

  1. 成功运行

  2. MySQL 5.5.16

  3. Django 1.3.1
  4. 然而,当我尝试在django控制台中运行“来自 django.db 导入连接”时,我得到以下内容:

      
        
          
            

    来自django.db导入连接Traceback(最近一次调用         last):File中的文件“”,第1行         “/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/init.py”         第78行             connection = connections [DEFAULT_DB_ALIAS]文件         “/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/utils.py”         第93行, getitem             backend = load_backend(db ['ENGINE'])文件         “/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/utils.py”         第33行,在load_backend中             return import_module('。base',backend_name)文件         “/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/utils/importlib.py”         第35行,在import_module中             导入(名称)文件         “/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/backends/mysql/base.py”         第14行             raise ImproperlyConfigured(“加载MySQLdb模块时出错:%s”%e)         配置不正确:加载MySQLdb模块时出错:dlopen(/ Users / [my         用户名] /。蟒-卵/ MySQL_python-1,2,3- py2.7-MacOSX的-10.7-intel.egg-TMP / _mysql.so,         2):未加载库:libmysqlclient.18.dylib引用自:         /用户/ [我         用户名] /。蟒-卵/ MySQL_python-1,2,3- py2.7-MacOSX的-10.7-intel.egg-TMP / _mysql.so         原因:未找到图像

          
        
      

    我不知道为什么会这样,有人可以帮助我解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

我找到了针对此问题的以下解决方案。它对我有用。当我从PyCharm运行python控制台时,我遇到了这个问题。

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

答案 1 :(得分:3)

易,

在某处编辑.bash_profile(vi~ / .bash_profile),添加以下行:

export DYLD_LIBRARY_PATH =“/ usr / local / mysql / lib”

这一行假定您的mysql安装目录位于/ usr / local / mysql /中。

这将解决在shell中启动的python中断程序的执行(.bash_profile导出MySQLdb模块加载'libmysqlclient.18.dylib'所需的路径)。

如果您遇到像PyCharm这样的Python IDE的问题,请将DYLD_LIBRARY_PATH变量添加到启动模块配置中。

我希望这会有所帮助:)

此外,

要完全理解此问题,请阅读以下部分:

http://mysql-python.sourceforge.net/FAQ.html#importerror

这详细解释了这个错误

答案 2 :(得分:1)

如果尚未安装pip,请运行

pip install MySQL-Python