首页 文章

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

提问于
浏览
2

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

  • phpMyAdmin

  • MySQL 5.5.16

  • Django 1.3.1

然而,当我尝试在django控制台中运行“ from django.db import connection”时,我得到以下内容:

来自django.db导入连接Traceback(最近一次调用最后一次):文件“”,第1行,在文件“/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/ db / init.py“,第78行,在连接=连接[DEFAULT_DB_ALIAS]文件”/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/utils.py“ ,第93行,在getitem后端= load_backend(db ['ENGINE'])文件“/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/utils.py” ,第33行,在load_backend中返回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 import(name)文件“/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/backends/mysql/base.py”,第14行, in raise ImproperlyConfigured(“加载MySQLdb模块错误:%s”%e)不正确配置:加载MySQLdb模块时出错:dlopen(/ Users / [我的用户名] / . python-eggs / MySQL_python-1.2.3-py2.7-macosx- 10.7-intel.egg-tmp / _mysql.so,2):库没有loaded:libmysqlclient.18.dylib引自:/ Users / [我的用户名] / . python-eggs / MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp / _mysql.so原因:图片没有发现

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

3 回答

  • 5

    简单,

    在某处编辑你的.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

    这详细解释了这个错误

  • 3

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

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

  • 1

    如果你还没有安装pip,请运行

    pip install MySQL-Python

相关问题