开发者社区> 问答> 正文

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

我是Python的新手,但是我只花了一天的时间来研究如何使MySQLdb正常工作,而根据Google的说法,Universe包含了许多有关PITA的内容,以及大量的指南。过时的。鉴于此站点旨在解决此类问题,并且我知道以后我将需要对该解决方案的引用,因此我将提出问题,提供答案,看看还会有什么其他问题。表面。

所以问题是如何使MySQLdb在Mac OS X上运行?

展开
收起
保持可爱mmm 2020-05-11 17:58:07 808 0
1 条回答
写回答
取消 提交回答
  • 使用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

    2020-05-11 18:02:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载