Mac OS X - EnvironmentError:找不到mysql_config

dan*_*c05 106 python mysql django macos

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

pip install mysql-python因EnvironmentError失败:找不到mysql_config

问题

我正在尝试在Google App Engine项目上使用Django.但是,由于以下原因导致服务器无法正常启动,因此我无法启动:

ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,这一切都指向必须安装Mysql-python,因为显然它不在我的系统上.我实际上尝试卸载它并得到了这个:

Cannot uninstall requirement mysql-python, not installed
Run Code Online (Sandbox Code Playgroud)

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

sudo pip install MySQL-python
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说明:

raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Run Code Online (Sandbox Code Playgroud)

我已经尝试过跑:

export PATH=$PATH:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

请注意我不是一个虚拟的人.

小智 308

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

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

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

所以,你按照这些步骤进行操作,然后你仍然会发现一个错误,好吧,你可以尝试一些事情:

  1. 尝试which mysql_config从bash 运行.它可能不会被发现.这就是为什么构建也找不到它.尝试运行locate mysql_config,看看有没有回来.这个二进制文件的路径需要在你的shell的$ PATH环境变量中,或者它需要在模块的setup.py文件中显式,假设它正在查找该文件的某个特定位置.

  2. 而不是使用MySQL-Python,尝试使用'mysql-connector-python',它可以使用安装pip install mysql-connector-python.有关这方面的更多信息可以在这里这里找到.

  3. 手动找到'mysql/bin','mysql_config'和'MySQL-Python'的位置,并将所有这些添加到$ PATH环境变量中.

  4. 如果以上所有步骤都失败了,那么您可以尝试使用MacPorts安装'mysql',在这种情况下,文件'mysql_config'实际上将被称为'mysql_config5',在这种情况下,您必须在安装后执行以下操作:export PATH=$PATH:/opt/local/lib/mysql5/bin.你可以在这里找到更多细节.

注1:我见过一些人说,安装python-devlibmysqlclient-dev也有帮助,但我不知道这些软件包可以在Mac OS.

注意2:另外,请确保尝试以root身份运行命令.

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

我希望我帮助过,并且很高兴知道这些是否有效.祝好运.

  • 运行`brew install mysql`修复它.此外,这个命令`mysql-config`对我来说不起作用,但是`mysql_config`做了什么. (3认同)
  • 很好的解释是,Linux上的FWIW,安装python-dev和libmysqlclient-dev通常是使它正常工作所需要做的唯一事情,但是在osx上,我需要做的就是更新我的浴池。我*相信*在Linux上,如果您未安装所示的dev库,则可以在不获取mysql-python的python deps的情况下安装mysql。(犯了这么多次错误,大声笑) (2认同)
  • 我不得不指向brews安装`export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/bin` (2认同)

小智 6

我一直在调试这个问题 - 3小时17分钟.让我特别恼火的是,我已经通过之前的单一工作在我的系统上安装了sql,但是pip/pip3没有识别它.我在上面搜索的这些线程以及其他许多我在互联网上搜索的内容都有助于解决问题,但实际上并没有解决问题.

回答

Pip正在寻找Homebrew目录中的mysql二进制文件,它位于相对于Macintosh HD @

/usr/local/Cellar/
Run Code Online (Sandbox Code Playgroud)

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

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

第2步:相对于Macintosh HD和CD 找到它

/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)

第3步:一旦打开终端并使用选择的文本编辑器 - 我自己是一个neovim家伙所以我打字(不会自动带来Mac ...另一天的另一个故事)

nvim mysql_config
Run Code Online (Sandbox Code Playgroud)

第4步:您将在大约112行看到

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "
Run Code Online (Sandbox Code Playgroud)

改成

# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
Run Code Online (Sandbox Code Playgroud)

*您会注意到此文件具有只读访问权限,因此如果您使用vim或neovim

:w !sudo tee %
Run Code Online (Sandbox Code Playgroud)

步骤5:前往根目录并编辑.bash_profile文件

cd ~
Run Code Online (Sandbox Code Playgroud)

然后

nvim .bash_profile
Run Code Online (Sandbox Code Playgroud)

并添加

export PATH="/usr/local/mysql/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

到文件然后保存

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

cd /private/etc/
Run Code Online (Sandbox Code Playgroud)

然后

nvim paths
Run Code Online (Sandbox Code Playgroud)

并添加

/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)

*您将再次注意到此文件具有只读访问权限,因此如果您使用vim或neovim

:w !sudo tee % 
Run Code Online (Sandbox Code Playgroud)

然后

cd ~
Run Code Online (Sandbox Code Playgroud)

然后通过运行刷新终端并进行更改

source .bash_profile
Run Code Online (Sandbox Code Playgroud)

最后

pip3 install mysqlclient
Run Code Online (Sandbox Code Playgroud)

而且中提琴.记住这是一种氛围.


Aru*_*run 6

如果您不想安装完整的 mysql,我们可以通过安装 mysqlclient 来解决此问题。 brew install mysqlclient 一旦 cmd 完成,它会要求将以下行添加到~/.bash_profile

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

关闭终端并启动新终端并继续 pip install mysqlclient


moh*_*yaz 5

如果您通过指定版本使用Homebrew安装了 mysql ,那么mysql_config将出现在此处。- /usr/local/Cellar/mysql@5.6/5.6.47/bin

您可以在/usr/local/目录中使用 ls 命令找到 sql bin 的路径

/usr/local/Cellar/mysql@5.6/5.6.47/bin
Run Code Online (Sandbox Code Playgroud)

像这样添加 bash 配置文件的路径。

nano ~/.bash_profile

export PATH="/usr/local/Cellar/mysql@5.6/5.6.47/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

116949 次

最近记录:

5 年,10 月 前