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 模块的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Mac OS X Lion 上安装 Python 库“gevent”
在 OS X lion 上使用 python 配置 MySQL