Mac OS X - EnvironmentError:未找到 mysql_config
- 2025-03-18 08:56:00
- admin 原创
- 44
问题描述:
首先,是的,我已经看到过这个:
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
我做了一些研究,发现所有问题都指向必须安装 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
但这似乎没有帮助,因为我再次运行安装命令但仍然失败。
有什么想法吗?
请注意我不在虚拟环境中。
解决方案 1:
好的,那么首先,让我检查一下我是否和你意见一致:
你安装了 python
你做到了
brew install mysql
你做到了
export PATH=$PATH:/usr/local/mysql/bin
最后,你做到了
pip install MySQL-Python
(或者pip3 install mysqlclient
如果使用 Python 3)
如果您按照相同的顺序执行了所有步骤,但仍然出现错误,请继续阅读到最后,但是,如果您没有完全遵循这些步骤,请尝试从头开始遵循它们。
因此,您按照上述步骤操作后仍然出现错误,那么您可以尝试以下几种方法:
尝试
which mysql_config
从 bash 运行。可能找不到。这就是构建也找不到它的原因。尝试运行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-dev
也libmysqlclient-dev
有帮助,但我不知道这些软件包是否可用于 Mac OS。
注意2:另外,请确保尝试以root身份运行命令。
我从这些地方(除了我的大脑)得到了答案(也许你可以看看它们,看看是否有帮助):1、2、3、4。
我希望我能帮到你,如果知道这些方法是否有效,我会很高兴。祝你好运。
解决方案 2:
如果你不想安装完整的 mysql,我们可以通过安装来解决这个问题mysql-client
brew install mysql-client
一旦 cmd 完成,它将要求添加以下行~/.bash_profile
:
echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
关闭终端并启动新终端并继续pip install mysqlclient
。
解决方案 3:
我一直在调试这个问题 - 3 小时 17 分钟。特别让我恼火的是,我已经通过之前的大学工作在系统上安装了 sql,但 pip/pip3 无法识别它。上面的这些线程以及我在互联网上搜索到的许多其他线程有助于阐明问题,但实际上并没有解决问题。
回答
Pip 正在 Homebrew 目录中寻找 mysql 二进制文件,该目录相对于Macintosh HD @
/usr/local/Cellar/
所以我发现这需要你做一些改变
步骤 1:下载 MySql(如果尚未下载)https://dev.mysql.com/downloads/
步骤 2:找到相对于Macintosh HD和 CD
/usr/local/mysql/bin
步骤 3:打开终端并使用所选的文本编辑器 - 我自己是 Neovim 用户,因此我输入(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 或 neovim
:w !sudo tee %
步骤 5:转到主目录并编辑 .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 或 neovim
:w !sudo tee %
然后
cd ~
然后通过运行以下命令刷新终端以显示更改
source .bash_profile
最后
pip3 install mysqlclient
还有 Viola。记住,这是一种氛围。
解决方案 4:
如果您已经使用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
像这样将路径添加到 bash 配置文件中。
nano ~/.bash_profile
export PATH="/usr/local/Cellar/mysql@5.6/5.6.47/bin:$PATH"
解决方案 5:
我在 MacOS Catalina 上运行 Python 3.6。我的问题是,我尝试安装时mysqlclient==1.4.2.post1
,它一直抛出 mysql_config not found 错误。
这是我解决问题所采取的步骤。
使用 brew 安装 mysql-connector-c (如果你已经有 mysql,请先安装 unlink
brew unlink mysql
) -brew install mysql-connector-c
打开 mysql_config 并编辑文件第 112 行左右
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
brew info openssl
- 这将为您提供有关将 openssl 放入 PATH 中需要执行的操作的更多信息关于步骤 3,你需要执行以下操作将 openssl 放入 PATH -
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
让编译器找到 openssl -
export LDFLAGS="-L/usr/local/opt/openssl/lib"
让编译器找到 openssl -
export CPPFLAGS="-I/usr/local/opt/openssl/include"
解决方案 6:
当我安装 mysqlclient 时也会发生这种情况,
$ pip install mysqlclient
正如用户 3429036 所说,
$ brew install mysql
解决方案 7:
brew
此答案适用于未从而是从官方安装的 MacOS 用户.dmg/.pkg
。该安装程序无法编辑您的PATH
,导致出现问题:
无法找到所有 MySQL 命令(例如、、
mysql
等),结果:mysqladmin
`mysql_config`“MySQL 偏好设置窗格”未出现在“系统偏好设置”中,并且
你不能安装任何与 MySQL 通信的 API,包括
mysqlclient
您要做的是附加 MySQLbin
文件夹(通常/usr/local/mysql/bin
在您的文件PATH
中添加此行~/.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
),方法是将此行添加到系统动态库路径中:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
解决方案 8:
brew install mysql
已将 mysql 添加到/usr/local/Cellar/...
,所以我需要将其添加:/usr/local/Cellar/
到我的$PATH
,然后就which mysql_config
可以了!
解决方案 9:
我遇到的问题是我在 python 虚拟环境中运行该命令,虽然我已将其放在 .bash_profile 文件中,但它没有/usr/local/mysql/bin的路径。只需在虚拟环境中导出路径即可。
供您参考,sql_config 位于 bin 目录中。
解决方案 10:
安装 brew 或 apt-get 对我来说也不容易,所以我通过https://dev.mysql.com/downloads/connector/python/下载了 mysql ,并安装了它。所以我可以在这个目录中找到 mysql_config:/usr/local/mysql/bin
下一步是:
导出 PATH=$PATH:/usr/local/mysql/bin
pip 安装 MySQL-python==1.2.5
扫码咨询,免费领取项目管理大礼包!