gpt4 book ai didi

MySQL-python 1.2.3 和 OS X 10.5 : 64- or 32-bit?

转载 作者:行者123 更新时间:2023-11-29 01:47:56 25 4
gpt4 key购买 nike

我一直很高兴地在一台运行 OS X 10.4 Tiger 的现有机器上使用 Django 和 MySQL 进行开发,并在一台新的 64 位 MacBook 上的 10.5 Leopard 中设置了一个类似的环境,MySQL 和 Python 2.6 可以正常工作。 4.

但是,现在我希望他们进行通信,easy_install MySQL-python 给出了 ld 警告 文件不是所需架构 ,这让我测试了我的 Python 2.4.6 安装(来自 Mac OS X disc image ):

>>> import sys
>>> sys.maxint
2147483647

啊。所以我的 Python 安装似乎是 32 位的,并且(我认为?)不会为我的 64 位 MySQL 安装 MySQL-python。有很多针对 OS X(主要是 1.2.2)上的 MySQL-python 的黑客攻击,但是 - 经过数小时的阅读 - 我很确定他们不会修复这种架构不匹配。所以我被困住了,因为我无法决定是否:

  • 放弃,删除64-bit MySQL安装(彻底的方法,好吗?)并改用 32 位 MySQL 光盘镜像;
  • 从 tarball 以 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 位(如我的工作设置),我错过了什么?

我正在寻求一种易于在其他机器上重现的无忧安装(可能供学生使用),所以我非常欢迎您提出意见!

最佳答案

我将此张贴在这里以防有人找到此页面并需要答案...

解决方案: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 安装最新的 32 位 MySQL 包和 set it up as required .

删除 MySQL-python:

easy_install -m MySQL-python

然后删除 site-packages 中的 egg 并确保 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 :

"if you go 64, then you will have to recompile every single thing that interacts with python, mysql and apache to work as a 64 bit arch program"

对于 Snow Leopard 上的任何人:

最后,MacPython 2.7 installer现在涵盖 64 位。请参阅此帖子以获取 differences between running 64 and/or 32 bit .

关于MySQL-python 1.2.3 和 OS X 10.5 : 64- or 32-bit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1969222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com