python - 在 Mac Snow Leopard 上安装 MySQL-python-1.2.3c1 时出现问题

标签 python mysql macos osx-snow-leopard compilation

我在 Mac OSX Snow Leopard 上安装 Python MySQL 连接器 (MySQL-python-1.2.3c1) 时遇到问题。

系统状态

我已经手动编译安装了: mysql-5.1.41

这似乎工作正常,因为我可以从命令行创建和查询数据库。

我已经编译了: MySQL-python-1.2.3c1

我首先在site.cfg 文件中设置以下内容:

mysql_config = /usr/local/mysql/bin/mysql_config

然后我按照他们的指南构建并编译了 MySQL-python-1.2.3c1:

sudo python setup.py build
sudo python setup.py install

我现在用 Python 测试安装:

python -c "import MySQLdb"

错误信息

然后这给了我以下错误,我对如何修复它感到困惑:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/username/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Symbol not found: _mysql_affected_rows
  Referenced from: /Users/username/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
  Expected in: flat namespace
 in /Users/username/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
mymac: username$ 

我尝试过的事情

我看过这个博客 antoniocangiano.com,但它适用于旧版本的 MySQL-python,并不适用。但我尝试添加它提到的软链接(soft link)。

然后我看了这篇博文:http://blog.some-abstract-type.com/2009/09/mysql-python-and-mac-os-x-106-snow.html .并尝试使用 ARCHFLAGS 设置进行构建编译 - 但没有任何乐趣。

请帮忙

如果您有任何想法,请告诉我。

非常感谢

本...

最佳答案

首先,我建议使用适用于 MacOS X 10.5 64 位 (x86_64) 的 MySQL 二进制文件。 tar ball 适用于 MacOS X 10.6。

你说你使用了 ARCHFLAGS.. 但是,像这样再试一次:

shell> ARCHFLAGS="-arch x86_64" python setup.py build
shell> sudo python setup.py install

因此以普通用户身份构建,以 root 身份安装。 (最好去掉源码,重新解压修正site.cfg文件)。

关于python - 在 Mac Snow Leopard 上安装 MySQL-python-1.2.3c1 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1907540/

相关文章:

python - 求解具有不连续输入/强制数据的 ODE

Bitrise 失败 : Segmentation fault: 11 上的 MacOS 协同设计命令

c - 如何强制将 SIGILL 发送到我的程序?

Linux 等效于 Mac OS X "open"命令

python - 当第一个元素大于下一个元素时减去列表中的连续元素 - Python

python - `DummyExecutor` 用于 Python 's ` future `

python - 将 SearchVectorField 添加到 Django 中的模型

php - 使用未加密的密码通过数据库登录应用程序

phpMyAdmin 不工作缺少功能

php - 自定义 MySQL 和 PHP 论坛 - 在类别下列出主题