我是Python的新手,但是我只花了一天的时间来研究如何使MySQLdb正常工作,而根据Google的说法,Universe包含了许多有关PITA的内容,以及大量的指南。过时的。鉴于此站点旨在解决此类问题,并且我知道以后我将需要对该解决方案的引用,因此我将提出问题,提供答案,看看还会有什么其他问题。表面。
所以问题是如何使MySQLdb在Mac OS X上运行?
使用Python3的用户的更新: 您可以简单地conda install mysqlclient用来安装使用MySQLdb所需的库,因为它目前存在。以下SO问题是一个有用的线索:Python 3 ImportError:没有名为'ConfigParser'的模块。安装mysqlclient将安装mysqlclient,mysql-connector和llvmdev(至少在我的机器上安装了这3个库)。
这是我关于这个问题的漫漫经历的故事。如果您对问题有更好的经验,不妨看一下它的编辑或概括...应用一下这种魔术。
注意:下一段中的注释适用于Snow Leopard,但不适用于Lion,Lion似乎需要64位MySQL
首先,MySQLdb的作者(还是?)在这里说,最有害的问题之一是OS X附带了32位版本的Python,但是大多数普通人(包括我自己)都可能安装了64位版本。 MySQL。不好动...删除64位版本,如果你已经安装了它(这个繁琐的任务指令适用于SO 这里),然后下载并(包安装32位版本在这里)
关于如何构建和安装MySQLdb库,有许多分步说明。它们通常有细微的差异。 这对我来说似乎最受欢迎,并提供了可行的解决方案。我在下面进行了一些修改,复制了它
步骤0: 开始之前,我假设您在Mac上安装了MySQL,Python和GCC。
步骤1:从SourceForge 下载最新的MySQL for Python适配器。
步骤2:解 压缩下载的软件包:
tar xzvf MySQL-python-1.2.2.tar.gz 步骤3: 在文件夹内,清洁包装:
sudo python setup.py clean 额外步骤,(来自此评论)
步骤3b: 删除MySQL-python-1.2.2 / build / *目录下的所有内容-不要相信“ python setup.py clean”为您完成此操作
步骤3c: 删除Users / $ USER / .python-eggs下的鸡蛋
步骤4: 最初需要编辑_mysql.c,但现在不再需要。MySQLdb社区似乎已经修复了此错误。
步骤5: 在lib下创建一个符号链接,以指向一个名为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”
步骤7: 在同一个目录中,重新生成您的软件包(忽略软件包随附的警告)
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需要创建一个附加的符号链接,即:
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
这对Google来说很容易,但是要为您省去麻烦,您将在这里结束(或者可能不是。。。不是一个特别适合未来的URL),并指出您需要cd ..脱离构建目录,并且错误应该消失。
正如我在顶部写的那样,我很乐意看到这个答案具有普遍性,因为对于这个可怕的问题还有很多其他的具体经验。编辑掉,或者提供自己的更好的答案。" 来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。