Mac OS X-Environment Error: mysql_config 未找到

首先,我已经看过了:

Pip install mysql-python 失败,环境错误: 未找到 mysql _ config

问题是

我试图在一个 Google App Engine 项目中使用 Django。然而,由于以下原因,服务器无法正常启动,我无法启动:

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

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

Cannot uninstall requirement mysql-python, not installed

无论何时我真的尝试通过以下方式安装:

sudo pip install MySQL-python

我得到一个错误说明:

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

我已经试过跑步了:

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

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

有什么想法吗?

请注意我不是在虚拟世界里。

172556 次浏览

好吧,首先,让我看看我是不是和你想的一样:

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

如果你按照同样的顺序完成了所有的步骤,但仍然得到了一个错误,那么请继续读到最后,但是,如果你没有遵循这些步骤,那么请尝试从一开始就遵循它们。

所以,按照这些步骤,你仍然会得到一个错误,那么,有一些事情你可以尝试:

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

  2. 不要使用 MySQL-Python,尝试使用‘ mysql-connect-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 用户身份运行命令。

我的答案来自(除了我的大脑)这些地方(也许你可以看看它们,看看是否有帮助) : 1234

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

安装 brew 或 apt-get 对我来说也不容易,所以我下载了 mysql via: https://dev.mysql.com/downloads/connector/python/,安装了它。所以我可以在这个目录中找到 mysql _ config:/usr/local/mysql/bin

下一步是:

  1. Export PATH = $PATH:/usr/local/mysql/bin
  2. Pip install MySQL-python = = 1.2.5

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

$ pip install mysqlclient

正如用户3429036所说,

$ brew install mysql

我一直在调试这个问题永远-3小时17分钟。特别让我恼火的是,我已经通过之前的 uni work 在我的系统上安装了 sql,但 pip/pip3没有识别出来。上面的这些线索和我在互联网上搜索的许多其他线索有助于解决这个问题,但实际上并没有解决问题。

回答

Pip 正在 HomebrewDirectory 中寻找 mysql 二进制文件,该文件位于相对于 Macintosh HD@的位置

/usr/local/Cellar/

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

步骤1: 如果还没有下载 MySql,请下载 https://dev.mysql.com/downloads/

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

/usr/local/mysql/bin

第三步: 一旦打开终端,使用一个文本编辑器的选择-我自己是一个新语言的家伙,所以我打字(不自动附带 Mac... 另一个故事,另一天)

nvim mysql_config

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

# Create options
libs="-L$pkglibdir"
libs="$libs -l "

换衣服

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

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

:w !sudo tee %

步骤5: 转到 home 目录并编辑. bash _ profile 文件

cd ~

然后

nvim .bash_profile

然后加

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

然后保存

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

cd /private/etc/

那么

nvim paths

然后加

/usr/local/mysql/bin

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

:w !sudo tee %

那么

cd ~

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

source .bash_profile

终于来了

pip3 install mysqlclient

还有维奥拉,记住这是一种氛围。

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

回显‘ export PATH =”/usr/local/opt/mysql-client/bin: $PATH”’> > ~/. bash _ profile

关闭终端并开始新的终端并继续进行 pip install mysqlclient

这个答案适用于那些没有从 brew而是从官方 .dmg/.pkg安装 MacOS 的用户。该安装程序未能编辑您的 PATH,导致东西打破了框:

  1. 找不到所有 MySQL 命令,如 mysqlmysqladminmysql_config等,结果:
  2. “ MySQL 首选项窗格”未能出现在系统首选项中,并且
  3. 不能安装任何与 MySQL 通信的 API,包括 mysqlclient

您需要做的是添加 MySQL bin文件夹(通常在 PATH中添加 /usr/local/mysql/bin,方法是在 ~/.bash_profile文件中添加这一行:

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

然后,你应该重新加载你的 ~/.bash_profile,以便在当前的终端会话中生效:

source ~/.bash_profile

但是,在安装 mysqlclient之前,您需要接受 XcodeBuild 许可证:

sudo xcodebuild -license

按照他们的指示签字离开你的家庭,之后你应该能够安装 mysqlclient没有问题:

pip install mysqlclient

在安装之后,您必须再做一件事情来修复 MySQL (找不到动态库 libmysqlclient.dylib)附带的运行时 bug,方法是将这一行添加到您的系统动态库路径中:

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH

我在 MacOS Catalina 上运行 Python 3.6。我的问题是,我试图安装 mysqlclient==1.4.2.post1,但它不断抛出 mysql _ config not found 错误。

这就是我解决这个问题的步骤。

  1. 使用 brew 安装 mysql-Connector-c (如果已经安装 mysql,则首先取消链接 brew unlink mysql)-brew install mysql-connector-c
  2. 打开 mysql _ config 并围绕第112行编辑文件
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
  1. brew info openssl-这将为您提供更多关于在 PATH 中放入 openssl 需要做些什么的信息
  2. 关于步骤3,您需要这样做才能将 openssl 放到 PATH-echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
  3. 用于编译器查找 openssl-export LDFLAGS="-L/usr/local/opt/openssl/lib"
  4. 用于编译器查找 openssl-export CPPFLAGS="-I/usr/local/opt/openssl/include"

如果您使用 自酿的指定了一个版本来安装 mysql,那么这里将出现 Mysql _ config

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

/usr/local/Cellar/mysql@5.6/5.6.47/bin

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

nano ~/.bash_profile


export PATH="/usr/local/Cellar/mysql@5.6/5.6.47/bin:$PATH"

在我的例子中,问题是我在一个 python 虚拟环境中运行这个命令,并且它没有到 /usr/local/mysql/bin的路径,尽管我将它放在。Bash _ profile 文件。在虚拟环境中导出路径对我来说很有用。

对于您的信息,sql _ config 位于 bin 目录中。

brew install mysql添加 mysql 到 /usr/local/Cellar/...,所以我需要添加 :/usr/local/Cellar/到我的 $PATH,然后 which mysql_config工作!