【问题标题】:python and mysql on mac os x [duplicate]mac os x上的python和mysql [重复]
【发布时间】:2011-07-27 10:00:38
【问题描述】:

可能重复:
Python import MySQLdb error - Mac 10.6

我已经尝试了所有可以在网上找到的方法。我已经使用 dmg 安装了 mysql,并且我已经尝试安装 mysql-python(我认为它有效)。但是当我在python解释器“import MySQLdb”中运行时,我仍然得到错误:

>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>

  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/matthew/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/matthew/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
  Reason: image not found

我无法找出问题所在。关于如何追踪这一点的想法?

【问题讨论】:

标签: python mysql macos


【解决方案1】:

我刚刚在我的系统上安装了它,这些是我为使其正常工作所做的步骤:

  1. 下载Mysql-python:http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/(我用的是1.2.2版本)
  2. 解压,去那里编辑 _mysql.c 文件,删除 37-19 行 (ifdefine)
  3. 在 site.cfg 中设置 mysql_config = /usr/local/mysql/bin/mysql_config
  4. sudo python setup.py build(这个我跑了两次,第一次吐了一些奇怪的东西,第二次没有错误……我读到了这个,这很奇怪)
  5. sudo python setup.py install
  6. sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
  7. sudo ln -s /usr/local/mysql/lib/ /usr/local/mysql/lib/mysql

最后,您只需尝试在 python 中导入 MySQLdb。希望这也对你有用。

伊格纳斯

【讨论】:

  • 警告!在 OS X 上,通常您应该从不添加、修改或删除 /usr/lib 中或 /usr 中除 /usr/local 之外的任何其他位置的文件。该空间被认为是 OS X 的一部分,由 Apple 管理。下次 Apple 发布更新时,您可能会损坏您的东西,在最坏的情况下,您可能会损坏您的系统。 /System/Library 也是如此。
  • 内德,我也读过这篇文章......但是我在这样的安装中生活了一年,并安装了 Apple 的所有更新......更新后没有任何问题,也没有任何变化。也许这不是最佳实践,但默认情况下 MySQL 会将自身安装到 /usr/local/mysql ... /System/Library 确实是修改的不好地方,这是真的!不错的提示,顺便说一句。
  • 啊..误解了你的提示......是的,你是关于 /usr/lib 中的符号链接。是的,我不喜欢这个……但这是一种解决方法。也许更好的是在环境中导出变量: export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ ?
  • 安装到/usr/local/mysql 很好。但是你应该没有理由需要在/usr/lib/ 中创建一个符号链接。 /usr/local/lib,也许。理想情况下,mysql-python 或任何其他依赖于 MySQL 客户端库的东西都会出现在正确的位置。否则,应该为其构建提供正确的配置参数。
  • 这里也一样!!第 6 步为我修复了它,无需遵循所有步骤。我 pip 安装了 mysql-python。
猜你喜欢
  • 2012-04-05
  • 2014-03-14
  • 2013-04-17
  • 2012-01-31
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多