pip install mysql-python 失败,出现 EnvironmentError: 未找到 mysql_config
- 2024-12-24 08:55:00
- admin 原创
- 91
问题描述:
这是我得到的错误
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
Running setup.py egg_info for package mysql-python
sh: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Complete output from command python setup.py egg_info:
sh: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
Running setup.py egg_info for package mysql-python
sh: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Complete output from command python setup.py egg_info:
sh: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
我该如何解决这个问题?
解决方案 1:
您的系统上似乎缺少 mysql_config,或者安装程序找不到它。请确保 mysql_config 确实已安装。
例如在 Debian/Ubuntu 上您必须安装该包:
sudo apt-get install libmysqlclient-dev
可能mysql_config不在你的路径中,当你自己编译mysql套件时就会出现这种情况。
更新:对于较新版本的 debian/ubuntu(截至 2018 年),
sudo apt install default-libmysqlclient-dev
解决方案 2:
在 Mac OS 中,我只需在终端中运行此命令即可修复:
export PATH=$PATH:/usr/local/mysql/bin
/etc/paths
这是我发现的最快的修复方法 - 它将其添加到路径中,但如果您计划在另一个环境中安装 MySQL-python,我认为最好将其永久添加(即将其添加到)。
(在 OSX Mountain Lion 中测试)
解决方案 3:
对于上述问题可能有多种答案,以下是一个汇总的解决方案。
对于 Ubuntu:
$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb
对于 CentOS:
$ yum install python-devel mysql-devel
解决方案 4:
apt-get install libmysqlclient-dev python-dev
似乎很有效。
解决方案 5:
如果你使用的是 MAC,则全局安装
brew install mysql
然后像这样导出路径
export PATH=$PATH:/usr/local/mysql/bin
比全球或在你的 venv 任何你喜欢的
pip install MySQL-Python
注意:对于 python3 来说,Mac 可以同时拥有 python2 和 3
pip3 install MySQL-Python
解决方案 6:
您可以使用 MySQL Connector/Python
通过 PyPip 安装
pip install mysql-connector-python
更多信息可以在MySQL Connector/Python 1.0.5 beta 公告博客上找到。
Launchpad 上有一个很好的示例,说明如何使用库添加、编辑或删除数据。
解决方案 7:
对于centos用户:
yum install -y mysql-devel python-devel python-setuptools
然后
pip install MySQL-python
如果此解决方案不起作用,并打印 gcc 编译错误如下:
_mysql.c:29:20: error: Python.h: No such file or directory
您需要指定 的路径Python.h
,如下所示:
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python
解决方案 8:
我尝试mysql-python
在 Amazon EC2 Linux 实例上安装,并且必须安装这些:
yum install mysql mysql-devel mysql-common mysql-libs gcc
但后来我收到这个错误:
_mysql.c:29:20: fatal error: Python.h: No such file or directory
所以我安装了:
yum install python-devel
这招确实奏效了。
解决方案 9:
对于使用 MariaDB 而不是 MySQL 的人来说,解决方案是安装包libmariadbclient-dev
并创建指向具有正确名称的配置文件的符号链接。
例如这对我有用:
ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
解决方案 10:
对于 Linux
这对我有用
yum install python-devel mysql-devel
解决方案 11:
尝试sudo apt-get build-dep python-mysqldb
解决方案 12:
OSX Mavericks
由于 osx mavericks 和 xcode 开发工具的变化,您可能会在安装时收到错误
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
因此使用:
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python
解决方案 13:
对于 mariadb,请安装lib mariadb client-dev而不是libmysqlclient-dev
sudo apt-get install libmariadbclient-dev
解决方案 14:
我在 Terraform:light 容器中遇到了同样的问题。它基于 Alpine。
你必须使用以下命令安装 mariadb-dev:
apk add mariadb-dev
但这是不够的,因为所有其他依赖项都被忽略了:
apk add python2 py2-pip gcc python2-dev musl-dev
解决方案 15:
您应该安装mysql
第一个:
yum install python-devel mysql-community-devel -y
然后你可以安装mysqlclient
:
pip install mysqlclient
解决方案 16:
有时错误取决于实际原因。我们遇到过通过 python-mysqldb debian 包安装 mysql-python 的情况。
一位不知道这一点的开发人员意外运行了该程序,pip uninstall mysql-python
然后无法恢复,并pip install mysql-python
出现上述错误。
pip uninstall mysql-python
已经破坏了 debian 软件包内容,并且当然pip install mysql-python
会失败,因为 debian 软件包不需要任何开发文件。
在这种情况下,正确的解决方案是apt-get install --reinstall python-mysqldb
将 mysql-python 恢复到其原始状态。
解决方案 17:
需要遵循的顺序。
pip install mysqlclient
sudo apt-get install python3-dev libmysqlclient-dev
pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py
然后尝试再次安装 MYSQL-python。这对我有用
解决方案 18:
在Mac上:
brew install mysql-client
定位 mysql
mdfind mysql | grep bin
然后添加到路径
export PATH=$PATH:/usr/local/Cellar/mysql-client/8.0.23/bin/
或永久
echo "export PATH=$PATH:/usr/local/Cellar/mysql-client/8.0.23/bin/" >> ~/.zshrc
source ~/.zshrc
解决方案 19:
在尝试在 OS X Server 10.6.8 上安装时遇到类似问题。以下是我必须执行的操作。使用:
MySQL-python 1.2.4b4(源) MySQL-5.6.19(二进制安装程序) Python 2.7(二进制安装程序) 注意:在虚拟环境中安装...
解压源代码,打开“distribute_setup.py”并编辑 DEFAULT_VERSION 以使用最新版本的分发工具,如下所示:
DEFAULT_VERSION = "0.6.49"
保存。打开“site.cfg”文件并取消注释 mysql_config 的路径,使其看起来像这样(参考您自己的 mysql_config 路径):
# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/local/mysql/bin/mysql_config
现在清理、构建和制作不会因未找到“mysql_config”错误而失败。希望这可以帮助其他人尝试使用他们的旧 xserves :-)
解决方案 20:
您的 sudo 路径不知道您的本地路径...进入超级用户模式,添加路径,然后从那里安装它。
sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit
现在您已在 OSX 上启动并运行。现在您有一个更新的全局 Python。
解决方案 21:
如果你在虚拟环境中安装了 MySQL-python,则应检查 pip 版本,如果版本早于 9.0.1,请更新它
pip install --upgrade pip
解决方案 22:
在我的例子中,我的数据库在容器上运行,而我的 flask 应用程序在另一个容器上运行,当我尝试更新代码时,应用程序出现错误
Complete output from command python setup.py egg_info:
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-bya8e734/mysqlclient/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-build-bya8e734/mysqlclient/setup_posix.py", line 65, in get_config
libs = mysql_config("libs")
File "/tmp/pip-build-bya8e734/mysqlclient/setup_posix.py", line 31, in mysql_config
raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
堆栈跟踪中的关键是
/bin/sh: 1: mysql_config: not found
因为我的 flask 应用程序运行时没有正确配置 mysql 客户端,所以我首先安装了 mysql 服务器,然后安装
sudo apt-get install mysql-server-5.7 -y
然后启动MySQL
mansoor@LARC-mansur:~/Documents/clients/HR/DevopsSimulator/web$ sudo systemctl start mysql
然后安装 flask-mysql 包,这次成功了
mansoor@LARC-mansur:~/Documents/clients/HR/DevopsSimulator/web$ sudo pip3 install flask-mysqldb
这是一个不同的情况,但在这里发布是因为世界上其他人可能也面临同样的问题
解决方案 23:
写于 2021 年 8 月 27 日
我的macos版本是BigSur(14.4),mysql版本是mysql8,好像在mysql的高版本中,他们删除了my_config.h
文件,但是改成了mysql.h
。
因此你们应该运行以下 shell:
cd /usr/local/include/mysql
cp mysql.h my_config.h
此后,运行pip install MySQL-python
,一切都会好起来。
解决方案 24:
在 MacOS Mojave 上,mysql_config 位于 /usr/local/bin/ 而不是上面指出的 /usr/local/mysql/bin,因此无需在路径中添加任何内容。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)