gpt4 book ai didi

python - 如何在 Mac OS X 上安装 MySQLdb(Python 数据访问库到 MySQL)?

转载 作者:IT老高 更新时间:2023-10-28 12:51:05 26 4
gpt4 key购买 nike

我是 Python 新手,但我刚刚花了一天的时间研究如何让 MySQLdb 正常工作,根据谷歌的说法,整个世界包括许多关于 PITA 的引用,以及数量过多的指南似乎是过时了。鉴于此站点旨在解决此类问题,并且我知道我将来需要引用解决方案,我将提出问题,提供我的答案,看看还有什么会浮出水面表面。

所以问题是如何获得MySQLdb在 Mac OS X 上工作?

最佳答案

使用 Python3 的用户更新:
您可以简单地使用 conda install mysqlclient安装使用 MySQLdb 所需的库,因为它目前存在。以下 SO 问题是一个有用的线索:Python 3 ImportError: No module named 'ConfigParser' .安装 mysqlclient 会安装 mysqlclient、mysql-connector 和 llvmdev(至少,它在我的机器上安装了这 3 个库)。

这是我在这个问题上的漫无边际经历的故事。如果您对这个问题有更好的经验,希望看到它被编辑或概括……应用一些这样的魔法。

注意:下一段中的注释适用于雪豹,但不适用于 Lion,它似乎需要 64 位 MySQL

首先,MySQLdb 的作者(还是?)说 here最有害的问题之一是 OS X 安装了 32 位版本的 Python,但大多数普通人(包括我自己)可能会跳转到安装 64 位版本的 MySQL。不好的举动...如果您安装了 64 位版本,请删除它(有关此繁琐任务的说明可在 SO here 上找到),然后下载并安装 32 位版本(包 here)

有许多关于如何构建和安装 MySQLdb 库的分步指南。他们经常有细微的差别。 This似乎对我来说最受欢迎,并提供了有效的解决方案。我在下面进行了一些编辑,对其进行了复制

第 0 步:
在开始之前,我假设您拥有 MySQL、Python 和 GCC安装在mac上。

第一步:
下载最新MySQL for Python adapter来自 SourceForge。

第 2 步:
提取您下载的软件包:

tar xzvf MySQL-python-1.2.2.tar.gz

第 3 步:
在文件夹内,清理包:
sudo python setup.py clean

一些额外的步骤,(来自 this comment)

步骤 3b:
删除 MySQL-python-1.2.2/build/* 目录下的所有内容——不要相信“python setup.py clean”会为你做这件事

步骤 3c:
删除 Users/$USER/.python-eggs 下的 egg

第 4 步:
最初需要编辑_mysql.c,但现在不再需要。 MySQLdb 社区现在似乎已经修复了这个错误。

第 5 步:
在 lib 下创建一个符号链接(symbolic link),指向名为 mysql 的子目录。这是它在编译期间寻找的地方。
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

第 6 步:
编辑 setup_posix.py 并更改以下内容

mysql_config.path = "mysql_config"



mysql_config.path = "/usr/local/mysql/bin/mysql_config"

第七步:
在同一个目录中,重建你的包(忽略它附带的警告)
sudo python setup.py build

第 8 步:
安装包,你就完成了。
sudo python setup.py install

第 9 步:
测试它是否工作。如果您可以导入 MySQLdb,它就可以工作。
python

>>> import MySQLdb
第 10 步:
如果在尝试导入时收到错误提示 Library not loaded: libmysqlclient.18.dylib结尾: Reason: image not found您需要创建一个额外的符号链接(symbolic link),即:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

然后你应该可以 import MySQLdb没有任何错误。

但最后一个小问题是,如果您从构建目录启动 Python,您将收到此错误:

/Library/Python/2.5/site-packages/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.py:3:用户警告:模块_mysql已经从/Library/Python/2.5/导入site-packages/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.pyc,但 XXXX/MySQL-python-1.2.3c1 被添加到 sys.path

这对谷歌来说很容易,但为了省去你的麻烦,你最终会得到 here (或者可能不是......不是一个特别适合 future 的 URL)并确定您需要 cd ..超出构建目录,错误应该消失。

正如我在顶部所写,我很乐意看到这个答案得到概括,因为还有许多其他关于这个可怕问题的具体经验。编辑掉,或提供您自己的更好的答案。

关于python - 如何在 Mac OS X 上安装 MySQLdb(Python 数据访问库到 MySQL)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448429/

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