Python 32 位在 OS X Lion 上找不到 MySQLdb 模块

Posted

技术标签:

【中文标题】Python 32 位在 OS X Lion 上找不到 MySQLdb 模块【英文标题】:Python 32-bit can't find MySQLdb module on OS X Lion 【发布时间】:2011-11-17 08:21:42 【问题描述】:

我一直在努力尝试使 Python 和 mysql 与 64 位架构完美配合的解决方案,并且该解决方案似乎将所有组件都安装/运行为 32 位。

我的问题是,由于某种原因,在 32 位模式下运行 Python $ arch -i386 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

然后

导入 MySQL 数据库

给我

导入 MySQL 数据库 回溯(最近一次通话最后): 文件“”,第 1 行,在 ImportError: 没有名为 MySQLdb 的模块

但是,当我在 64 位模式下运行 python 并尝试“导入 MySQLdb”时,我感到很害怕:

导入 MySQL 数据库 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“build/bdist.macosx-10.6-intel/egg/MySQLdb/init.py”,第 19 行,在 文件“build/bdist.macosx-10.6-intel/egg/_mysql.py”,第 7 行,在 bootstrap 中的文件“build/bdist.macosx-10.6-intel/egg/_mysql.py”,第 6 行 ImportError: dlopen(/Users/me/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): 找不到合适的图像。发现: /Users/me/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so:mach-o,但架构错误

所以我的问题是,为什么 Python 在 32 位模式下找不到模块? “错误的架构”错误让我相信 MySQL-python 安装为 32 位,所以我不认为是 32 位 Python 不能“看到”该模块。我在 .bash_profile 中的 $PATH 上有 python 和 .python-eggs 路径,那么我在这里缺少什么?

【问题讨论】:

【参考方案1】:

不完全是答案,但您是否尝试过pip install MySQL-python?如果你的路径中有一些mysql_config,它应该编译得很好。

– 我通过homebrew 使用Python 2.7.2,MAMP 2.0 安装,在10.6 上运行。带有64bit 内核。

【讨论】:

成功了,谢谢!当我打算使用“所有 64 位”时,我尝试了自制解决方案,但我一直收到 gcc-4.0 not found 错误...我安装了 Xcode 4.1,据我所知,它应该由自制而不是 gcc 使用编译,但它对我不起作用。也许它与10.7有关?无论如何,再次感谢!

以上是关于Python 32 位在 OS X Lion 上找不到 MySQLdb 模块的主要内容,如果未能解决你的问题,请参考以下文章

os x lion中的aubio python绑定

如何在 Mac OS X Lion 上安装 Python 库“gevent”

在 OS X lion 上使用 python 配置 MySQL

mysql-python安装问题(在ma​​c os x lion上)

在 OS X Lion 上安装 qwt 库

如何使用 brew 在 OS X Lion 上安装 OpenCV