2009-12-28 124 views
2

我一直很高兴在运行OS X 10.4 Tiger的现有机器上使用Django和MySQL进行开发,并且已经在一个新的64位MacBook上搭建了10.5 Leopard中的类似环境,并配备了工作的MySQL和Python 2.6.4 。MySQL-python 1.2.3和OS X 10.5:64位或32位?

不过,现在我想他们沟通,easy_install MySQL-pythonld warning s表示的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),有很多黑客入侵,但是 - 经过几个小时的阅读 - 我很确定他们不会修复这种架构不匹配。所以我坚持,因为我不能决定是否:

  • 放弃,除去64-bit MySQL安装(?彻底的方法,请),并使用32位的MySQL光盘映像来代替;
  • 在64位模式和压缩档重新安装Python,
    --with-universal archs-64-bit--enable-universalsdk=
    作为detailed in Python.org's 2.6 news

所以我的问题的人谁遇到这个问题是:

  1. 是在OS X 10.5值得费心安装64位的Python?
  2. 如果是这样,(天真,懒惰的问题!)两个所需的论据如何结合?
  3. 如果我只是跳过32位(如我的工作设置),我错过了什么?

我经过无忧的安装,很容易在其他机器上复制(可能学生使用),所以我非常欢迎您的意见,请!

回答

3

我万一有人张贴这在这里找到这个页面,需要一个答案......

解决方案:removethe 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 pageset 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 

对于我解决了这个问题。无需编辑_mysql.c(as advisedMySQL-python 1.2.2)或混淆其他任何设置。

你需要他们(如果上述失败,或者如果你真的想尝试一个64位的安装),这里有一些使用的环节,而研究这个:

note this

“如果你去64,那么你将不得不 重新编译 与蟒蛇,MySQL和 阿帕奇交互为64位拱工作的每一件事情 节目”

而对于雪豹的人:

最后,MacPython 2.7 installer现占地面积64位。看到这个职位的differences between running 64 and/or 32 bit

1

我发现下面的步骤(雪豹)让我的64位MySQL和64位的Python(在2011年初的MacBook Pro)

  1. 安装的Xcode
  2. 安装64位的MySQL
  3. 安装最新的Python
  4. 安装的easy_install

    下载并安装由相应的蛋:http://pypi.python.org/pypi/setuptools,然后运行shell脚本(在我情况下...)
    须藤SH setuptools的-0.6c11-py2.6.egg

  5. 安装MySQLdb的Python库

    出口PATH = $ PATH:在/ usr /本地/ MySQL的/斌/
    须藤的easy_install在MySQL-python的

  6. 更改〜/ .profile文件包含以下行:

    出口VERSIONER_PYTHON_PREFER_32_BIT =没有
    出口VERSIONER_PYTHON_PREFER_64_BIT = YES

  7. 制作libmysqlclient.18。dylib可用

    须藤LN -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

+0

感谢布莱恩 - 有用的。 Python 2.7有一个64位安装程序http://www.python.org/getit/,所以当我最终去Snow Leopard时,我可能会先从这个开始:-) – 2011-05-27 21:05:20