【问题标题】:Having an issue with setting up MySQLdb on Mac OS X Lion in order to support Django在 Mac OS X Lion 上设置 MySQLdb 以支持 Django 时遇到问题
【发布时间】:2011-11-28 03:29:49
【问题描述】:

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

  1. phpMyAdmin

  2. MySQL 5.5.16

  3. 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 中 导入(名称)文件 "/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 用户名]/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so, 2):库未加载:libmysqlclient.18.dylib 引用自: /用户/[我的 用户名]/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so 原因:找不到图片

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

【问题讨论】:

    标签: python mysql django macos mysql-python


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      简单,

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

      导出 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

      这详细解释了这个错误

      【讨论】:

      • 好的,所以 mysql 安装到“/usr/local/mysql-5.5.16-osx10.6-x86_64”我在我的 .bash_profile 中添加了适当的行。你正确地推断出我正在运行 PyCharm,所以我进入了 Run 菜单下的“Edit Configurations”并添加了“DYLD_LIBRARY_PATH='/usr/local/mysql-5.5.16-osx10.6-x86_64/lib/'”在环境变量下。但是,当我尝试通过 PyCharm 运行程序时,我仍然遇到完全相同的问题...
      • (另外,我似乎在 cmets 中遇到了换行问题...)
      • 去掉路径值中的单引号
      • 我很乐意提供帮助。我有同样的问题,让这个工作令人沮丧:)
      • 使用它来获取特定的 pyCharm 解释器/virtualenv,但请记住,@asgard 的答案可以全局解决问题
      【解决方案3】:

      如果你还没有安装 pip,然后运行 ​​

      pip install MySQL-Python

      【讨论】:

      • 刚刚试过,没有骰子。它告诉我 “要求已经满足(使用 --upgrade 升级):/Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel 中的 MySQL-Python。鸡蛋” 所以我使用了“--upgrade”标志,它通过了动作,它仍然给我同样的错误......
      • 你是怎么安装mysql的?您是否验证了您的 mysql 安装工作正常并且您可以连接、创建数据库等?
      • 我做到了,问题不在于 mysql,而在于将 mysql 连接到 python。
      • 你是怎么安装mysql的?通过使用brew 完成的 mysql 安装,pip 将在大多数用途中正确进行设置(一些 Python IDE 除外)。你安装的是 64 位还是 32 位版本的 MySQL?
      • 我很确定我用过 brew,但老实说我不记得了。有没有简单的方法进行 2 倍检查?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 2014-09-27
      • 2014-02-26
      相关资源
      最近更新 更多