在Mac上安装MySQL以与Python一起使用

时间:2010-12-22 23:34:42

标签: python mysql macos importerror

我只是想在我的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]
    
  4. 但是当我在终端中运行:import mySQLdb时,我收到以下消息:

      

    追踪(最近的呼叫最后):
        文件“< stdin>”,第1行,< module>
            ImportError:没有名为mySQLdb的模块

    如何解决此问题?

    更新: 好的,所以我尝试了MacPorts安装,但它仍然没有用。我收到以下错误消息......

      

    错误:db46需要Java for Mac OS X开发标头。
      错误:从https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719下载Java Developer Package     
      错误:返回目标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不在应有的位置。

3 个答案:

答案 0 :(得分:1)

当然可以自己完成所有工作。但是有很多部分,尤其是在OS X 10.6上,并且它倾向于以64位运行,因此很难将一切都搞定。我们可以调试每一步;为此,您需要提供更多信息。或者您可以帮自己一个忙,并安装第三方软件包管理器中的所有内容,例如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

答案 1 :(得分:0)

import MySQLdb

适合我(案例不同)。 否则,确保鸡蛋已正确安装(例如在/Library/Python/2.6/site-packages/MySQL_python中)

答案 2 :(得分:0)

我很幸运使用MAMP而不是使用Snow Leopard将MySQL和Python直接安装到我的Mac上。当你从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