关于python:Mac OS X – EnvironmentError:找不到mysql_config

Mac OS X - EnvironmentError: mysql_config not found

首先,是的,我已经看到了:

pip install mysql python失败,环境错误:找不到mysql_config

问题

我正试图在谷歌应用引擎项目中使用django。但是,由于以下原因,服务器无法正常启动,我无法启动:

1
2
ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

我做了一些研究,都指出必须安装mysql python,因为显然它不在我的系统中。我尝试卸载它,得到了:

1
Cannot uninstall requirement mysql-python, not installed

每当我尝试通过以下方式安装时:

1
sudo pip install MySQL-python

我得到一个错误声明:

1
2
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

我已经试过跑步了:

1
export PATH=$PATH:/usr/local/mysql/bin

但这似乎没有帮助,因为我再次运行了安装命令,但它仍然失败。

有什么想法吗?

请注意,我不在virtualenv中。


好的,首先,让我检查一下我是否和你在同一个页面上:

  • 你安装了python
  • 你做了brew install mysql
  • 你做了export PATH=$PATH:/usr/local/mysql/bin
  • 最后,您执行了pip install MySQL-Python(如果使用python 3,则执行pip3 install mysqlclient)

如果您按照相同的顺序执行了所有这些步骤,但仍然出现错误,请从头到尾继续阅读,但是,如果您没有按照这些准确的步骤尝试,请从一开始就按照这些步骤进行操作。

所以,您按照步骤操作,仍然会出错,那么,您可以尝试以下一些方法:

  • 尝试从bash运行which mysql_config。可能找不到。这就是为什么构建也找不到它的原因。试着运行locate mysql_config,看看是否有什么结果。该二进制文件的路径需要在shell的$path环境变量中,或者假定它在某个特定位置查找该文件,则需要在模块的setup.py文件中显式地指定。

  • 不要使用mysql python,尝试使用"mysql connector python",它可以使用pip install mysql-connector-python安装。关于这个的更多信息可以在这里找到。

  • 手动查找'mysql/bin'、'mysql_config'和'mysql python'的位置,并将所有这些添加到$path环境变量中。

  • 如果上述所有步骤都失败,那么您可以尝试使用MacPorts安装"mysql",在这种情况下,文件"mysql-config"实际上称为"mysql-config5",在这种情况下,您必须在安装后执行此操作:export PATH=$PATH:/opt/local/lib/mysql5/bin。你可以在这里找到更多的细节。

  • 注1:我见过有人说安装python-devlibmysqlclient-dev也有帮助,但我不知道Mac OS上是否有这些软件包。

    注意2:另外,确保尝试以根用户身份运行命令。

    我从这些地方(除了我的大脑)得到了我的答案(也许你可以看看它们,看看是否有帮助):1,2,3,4。

    我希望我能帮上忙,并且很高兴知道这些措施是否奏效。祝你好运。


    我一直在调试这个问题-3小时17分钟。特别让我恼火的是,我已经通过以前的uni工作在系统上安装了SQL,但是pip/pip3无法识别它。我在网上搜寻的这些线索和其他许多线索有助于解决问题,但实际上并没有解决问题。

    回答

    pip正在homebrew目录中查找mysql二进制文件,该目录相对于macintosh hd。@

    1
    usr/local/Cellar/

    所以我发现这需要你做一些改变

    步骤1:如果尚未下载MySQL,请下载https://dev.mysql.com/downloads/

    步骤2:相对于Macintosh HD和CD定位

    1
    usr/local/mysql/bin

    第三步:一旦打开终端,使用文本编辑器选择-我自己是一个新生的家伙,所以我键入(不会自动与Mac一起出现…另一个故事)

    1
    nvim mysql_config

    步骤4:您将看到大约112行

    1
    2
    3
    # Create options
    libs="-L$pkglibdir"
    libs="$libs -l"

    改为

    1
    2
    3
    # Create options
    libs="-L$pkglibdir"
    libs="$libs -lmysqlclient -lssl -lcrypto"

    *您会注意到这个文件是只读的,所以如果您使用VIM或NEOVIM

    1
    :w !sudo tee %

    步骤5:头到根目录并编辑.bash_概要文件

    1
    cd ~

    然后

    1
    nvim .bash_profile

    并添加

    1
    export PATH="/usr/local/mysql/bin:$PATH"

    到文件,然后保存

    步骤6:相对于Macintosh HD定位路径并添加到其中

    1
    cd private/etc/

    然后

    1
    nvim paths

    并添加

    1
    /usr/local/mysql/bin

    *您会再次注意到这个文件是只读的,所以如果您使用VIM或NEOVIM

    1
    :w !sudo tee %

    然后

    1
    cd ~

    然后通过运行刷新终端

    1
    source .bash_profile

    终于

    1
    pip3 install mysqlclient

    还有Viola。记住这是一种氛围。


    当我安装mysqlclient时也会发生这种情况,

    1
    $ pip install mysqlclient

    如用户3429036所说,

    1
    $ brew install mysql

    如果您不想安装完整的mysql,我们只需安装mysqlclient就可以解决这个问题。
    brew install mysqlclient
    一旦命令完成,它将要求在~/.bash_profile中添加以下行:


    echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile

    关闭终端,启动新终端,继续执行pip install mysqlclient


    安装BREW或APT GET对我来说也不容易,所以我通过以下方式下载了MySQL:https://dev.mysql.com/downloads/connector/python/,安装了它。所以我可以在这个目录中找到mysql_config:/usr/local/mysql/bin

    下一步是:

  • 导出路径=$path:/usr/local/mysql/bin
  • pip安装mysql python==1.2.5