【问题标题】:installing MySQLdb for Python 2.6 on OSX [duplicate]在 OSX 上为 Python 2.6 安装 MySQLdb [重复]
【发布时间】:2011-04-23 08:40:33
【问题描述】:

我正在尝试按照以下说明为 Python 2.6 安装 MySQLdb:

http://www.tutorialspoint.com/python/python_database_access.htm

当我到达这一步时:$ python setup.py build 我收到错误:

users-MacBook-Pro:MySQL-python-1.2.3 user$ sudo python setup.py build
sh:mysql_config:找不到命令
回溯(最近一次通话最后):
  文件“setup.py”,第 15 行,在
    元数据,选项 = get_config()
  文件“/my_crawler/MySQL-python-1.2.3/setup_posix.py”,第 43 行,在 get_config
    库 = mysql_config("libs_r")
  mysql_config 中的文件“/my_crawler/MySQL-python-1.2.3/setup_posix.py”,第 24 行
    raise EnvironmentError("%s not found" % (mysql_config.path,))
环境错误:找不到 mysql_config

我已安装 MySQL 并将其添加到我的 bash

我做错了什么?

【问题讨论】:

    标签: python mysql macos


    【解决方案1】:
    export PATH=$PATH:/usr/local/mysql/bin/
    

    应该为您解决问题,因为系统无法找到 mysql_config 文件。

    【讨论】:

    • 我在没有 MySQLStartupItem.pkg 的情况下在 OSX 上安装了 MySQL,我认为因为 mysql_config 不在 $PATH 上,所以这对我来说是唯一的解决方案...
    • 这就是解决方案!
    【解决方案2】:

    虽然 PlanetUnknown 的答案是正确的,但我希望这组更明确的步骤将被证明是有用的:

    问题与MySQLdb 不知道在哪里查找mysql_config 文件有关。

    所以,让我们为MySQLdb 找到它,然后将位置放入它的site.cfg 文件中,以便它可以从现在开始找到它。

    OP在Mac上,所以打开终端找到site.cfg文件:

    sudo find / -name 'site.cfg'
    

    等待几秒钟,它应该会吐出绝对路径,我们将在一秒钟内vi该文件。但首先,找到mysql_config 文件:

    sudo find / -name 'mysql_config'
    

    在编辑site.cfg 文件之前,请确保您的剪贴板上有mysql_config 的位置。

    在编辑器中打开site.cfg 后,找到指定mysql_config 路径的行。它要么指向错误的路径,要么只是一起注释掉。无论哪种方式,请从剪贴板粘贴正确的路径来代替现有路径。

    您现在应该在该文件中有一行内容如下:

    mysql_config = /usr/local/path/to/mysql_config
    

    保存文件。

    它现在应该可以运行了,所以再试一次。

    【讨论】:

    • 谢谢!您完美地描述并解决了我的问题。
    • 没问题,其实我在设置 Django 时发现了一些常见错误,我在这里详细讨论 - joshbranchaud.com/2013/02/10/…
    • 从上面的帖子中你必须运行它,如果它仍然不起作用$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
    • 我找不到 'site.cfg' 这个问题让我抓狂
    【解决方案3】:

    它不是在寻找“mysql”,而是在寻找“mysql_config”。尝试从 bash 运行“which mysql_config”。应该是找不到了。这就是构建也找不到它的原因。尝试运行 'locate mysql_config' 并查看是否有任何返回。该二进制文件的路径需要在 shell 的 $PATH 环境变量中,或者需要在模块的 setup.py 文件中明确显示,假设它正在查找该文件的某个特定位置。

    如果你从 /usr/local 中的源代码安装了 mysql,我相信该文件会在 /usr/local/mysql/bin/mysql_config 中找到

    【讨论】:

    • 谢谢,由于某种原因,我的符号链接最初无法正常工作。
    【解决方案4】:

    检查 mysqldb 文件夹中的 site.cfg。它应该在根目录。
    将 site.cfg 编辑到“mysql_config”的正确路径
    我在“/usr/local/mysql/bin/”中找到了我的

    完成后,您应该能够毫无问题地运行构建和安装。
    请记住,您应该是 root 或以“sudo”身份运行所有命令

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-14
      • 2013-07-11
      • 2011-05-09
      • 2011-09-23
      • 2012-03-26
      • 2018-02-07
      • 1970-01-01
      • 2018-06-11
      相关资源
      最近更新 更多