我很高兴在运行OS X 10.4 Tiger的现有机器上开发Django和MySQL,并在新的64位MacBook上使用10.5 Leopard设置类似的10.5 Leopard环境。 4。
但是,现在我希望他们进行沟通,easy_install MySQL-python
给了ld warning
file is not of the required architecture
,这导致我测试我的Python 2.4.6安装(来自Mac OS X disc image }):
>>> import sys
>>> sys.maxint
2147483647
阿。所以我的Python安装看起来是32位的(我认为?)不会为我的64位MySQL安装MySQL-python。在OS X上有很多针对MySQL-python的黑客攻击(大多数是1.2.2),但是 - 经过数小时的阅读后 - 我很确定他们不会修复这种架构不匹配的问题。所以我被困了,因为我无法决定是否:
--with-universal archs-64-bit
和--enable-universalsdk=
所以我遇到这个问题的人的问题是:
我正在进行无障碍安装,很容易在其他机器上重现(可能是学生使用),所以我真的很欢迎您的意见!
答案 0 :(得分:3)
如果有人找到此页面并需要答案,我会在此处发布此内容...
解决方案:remove the MySQL 64位安装(更改以下内容以匹配您的MySQL版本号):
cd /usr/local
sudo rm -rf mysql-5.1.41-osx10.5-x86_64
rm -r mysql
cd /Library/Receipts/
rm -r mysql-5.1.41-osx10.5-x86_64.pkg
从downloads page和set it up as required安装最新的32位MySQL软件包。
使用以下命令删除MySQL-python:
easy_install -m MySQL-python
然后删除site-packages
中的鸡蛋,并确保easy_install -m
删除了easy-install.pth
文件中的包装行。
启动MySQL,然后重新安装MySQL-python(确保在编写本文时获得最新版本 - 1.2.3):easy_install MySQL-python
测试它:
>>> import MySQLdb
对我来说,这解决了这个问题。无需为as advised编辑_mysql.c(MySQL-python 1.2.2)或混淆任何其他设置。
如果你需要它们(如果上面的失败,或者你真的想尝试64位安装),这里有一些在研究时使用的链接:
但是note this:
“如果你去64岁,你就必须这样做 重新编译每一件事 与python,mysql和。进行交互 apache以64位拱形工作 程序“
对于Snow Leopard上的任何人:
最后,MacPython 2.7 installer现在涵盖了64位。请参阅此帖子了解differences between running 64 and/or 32 bit。
答案 1 :(得分:1)
我发现以下步骤(使用Snow Leopard)获得了64位MySQL和64位Python(在2011年初的Macbook Pro上)
安装easy_install
从http://pypi.python.org/pypi/setuptools下载并安装适当的鸡蛋,然后运行shell脚本(在我的情况下......)
sudo sh setuptools-0.6c11-py2.6.egg
安装MySQLdb python库
export PATH = $ PATH:/ usr / local / mysql / bin /
sudo easy_install MySQL-python
更改〜/ .profile以包含以下行:
export VERSIONER_PYTHON_PREFER_32_BIT = no
出口VERSIONER_PYTHON_PREFER_64_BIT =是
使libmysqlclient.18.dylib可用
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib