【问题标题】:Installing MySQL on Mac for use with Python在 Mac 上安装 MySQL 以与 Python 一起使用
【发布时间】:2010-12-22 23:34:41
【问题描述】:

我只想在我的 Mac 上安装 MySQL(运行 Mac OS X 10.6.5 (Snow Leopard))以便与 Python 一起使用。

到目前为止我有:

  1. 已下载并安装 [mysql-5.5.8-osx10.6-x86_64.dmg]。 (我也无意中下载安装了[mysql-5.1.54-osx10.6-x86_64.dmg])

  2. 已下载并安装 [mySQL-python-1.2.3]

  3. 在我的 .bash_profile 中添加了以下内容:

    [export PATH=$PATH:/usr/local/mysql/bin]
    

但是当我在终端运行:import mySQLdb 时,我遇到了以下消息:

回溯(最近一次通话最后一次):
文件“”,第 1 行,在
ImportError: 没有名为 mySQLdb 的模块

我该如何解决这个问题?

更新: 好的,所以我尝试了MacPorts 安装,但它仍然无法正常工作。我收到以下错误消息...

错误:db46 需要 Java for Mac OS X 开发头文件。
错误:从以下位置下载 Java 开发人员包:https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719

错误:目标 org.macports.configure 返回:缺少 Java 标头

错误:无法安装 db46
db46 的日志位于:/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_db46/main.log

错误:未安装以下依赖项:py26-distribute python26 db46 gdbm gettext expat libiconv gperf sqlite3

错误:处理过程中遇到状态 1。

这对我来说意义不大,虽然我猜倒数第二个解释了为什么 Python 不是它应该在的地方。

【问题讨论】:

    标签: python mysql macos importerror


    【解决方案1】:

    当然可以自己完成所有工作。但是有很多部分,尤其是在 OS X 10.6 和它偏爱在 64 位上运行的情况下,很难把所有东西都做好。我们可以调试沿途的每一步;为此,您将需要提供更多信息。或者,您可以帮自己一个忙,从 3rd 方包管理器安装所有内容,例如 MacPortsFinkHomebrew。如果您要安装更多软件包,那将更有意义。我碰巧更喜欢MacPorts。如果您还没有安装它的基本文件,请按照说明here。如果您已经安装了它,请执行此操作以确保端口列表是最新的:

    $ sudo port selfupdate
    

    然后你可以用一个命令安装你需要的一切:

    $ sudo port install py26-mysql
    

    完成后:

    $ /opt/local/bin/python2.6 -c "import MySQLdb; print(MySQLdb.version_info)"
    (1, 2, 3, 'final', 0)
    

    更新:根据您提供的其他信息,最近对 OS X 10.6 上的 Java 发行版的更改似乎导致依赖库之一 db46 失败。最简单的解决方法应该是添加一个命令来选择它的非 Java 变体:

    $ sudo port clean db46
    $ sudo port install db46 +no_java
    $ sudo port install py26-mysql
    

    【讨论】:

    • 感谢您的信息。已经下载了macports,但不是很明显如何使用它,而且已经很晚了,所以我决定不使用它。已按照您的说明进行操作,除了报告一个错误之外,“sudo port install ...”的完成情况还不错。然而,最后一个命令失败了,因为 python 2.6 不在 /opt/local/bin/ 中。之前的命令应该把它放在那里吗?还是我只需要找到它所在的位置并在正确的路径中替换。
    • MacPorts 默认情况下会在/opt/local/ 下安装所有内容,因此它应该在那里。 sudo port install 报告的错误是什么? ls -l /opt/local/bin 显示什么?
    • 抱歉,我很难发布安装过程中收到的错误消息。这些注释框对于所有文本都不够大,并且格式不正确。我不愿意使用“发布答案”选项,因为它不是答案!我在安装结束时有一个终端窗口的屏幕截图 - 有什么办法可以在这里发布吗?
    • 现在已经实现了您的三个 sudo 命令来安装非 java 变体,并且一切似乎都工作正常。没有收到错误消息,并且在交互式会话提示符下输入“import MySQLdb”时工作正常。非常感谢您的宝贵时间;否则永远不会得到排序。
    【解决方案2】:

    这个

    import MySQLdb
    

    对我有用(情况不同)。 否则,请确保正确安装了 egg(例如在 /Library/Python/2.6/site-packages/MySQL_python 中)

    【讨论】:

    • 尝试大写 M 但没有乐趣。什么是鸡蛋?
    • 好的,在网上搜索了egg,发现这是我已经下载的文件之一。它现在位于 Library/Python/2.6/site-packages/MySQL-python-1.2.3 中,但仍然收到相同的错误消息(也将此添加到我的 .bash_profile 中的 PATH 中,以防它默认不包含在内。跨度>
    【解决方案3】:

    我很幸运使用 MAMP 而不是直接将 MySQL 和 Python 安装到我的 Mac 上并使用 Snow Leopard。当您从 Apple 运行某些更新时,我听说过定制的 MySQL 和 Python 安装中断的恐怖故事。这一点,以及在不需要时轻松禁用 Apache、MySQL、PHP 和 Python 在后台运行的能力是我选择 MAMP 的原因。

    此网页上的第 8 条将引导您完成 Python 设置: http://www.sitepen.com/blog/2008/05/16/supercharge-mamp/

    可以在此处找到有关 MAMP 的更多信息: http://www.mamp.info/en/mamp/index.html

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 2011-07-01
      • 2015-05-09
      • 2013-07-10
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      相关资源
      最近更新 更多