这是我得到的错误
(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
我能做些什么来解决这个问题?
您的系统上似乎缺少 mysql_config 或安装程序找不到它。确保 mysql_config 确实已安装。
例如,在 Debian/Ubuntu 上,您必须安装该软件包:
sudo apt-get install libmysqlclient-dev
也许mysql_config不在你的路径中,当你自己编译mysql套件时会出现这种情况。
更新:对于 debian/ubuntu 的最新版本(截至 2018 年),它是
sudo apt install default-libmysqlclient-dev
在 Mac OS 中,我只是在终端中运行它来修复:
export PATH=$PATH:/usr/local/mysql/bin
这是我找到的最快的修复方法——它将它添加到路径中,但我认为如果您打算在另一个环境中安装 MySQL-python,最好将其永久添加(即添加到 /etc/paths
)。
(在 OSX Mountain Lion 中测试)
export PATH=$PATH:/Applications/mampstack-5.3.17-0/mysql/bin
如果您使用的是 this commercial MAMP stack,请卸载它并获取 bitnami ,因为它很糟糕并且不包含 mysql 标头。
/etc/paths
的底部 - 您需要打开一个新的终端窗口才能访问新路径。
export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin
mysql
,请使用位置为 /usr/local/bin/mysql
的 brew install mysql
(如果未安装符号链接,则使用 /usr/local/Cellar/mysql/VERSION/bin/
)。
apt-get install libmysqlclient-dev python-dev
似乎成功了。
python3-dev
。
gcc
才能成功安装。此外,最好不要执行 python-dev
,而是指定特定版本,例如 python2.7-dev
、python3.6-dev
等。
上述问题可能有各种答案,下面是一个汇总的解决方案。
对于 Ubuntu:
$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb
对于 CentOS:
$ yum install python-devel mysql-devel
python3-dev
/ python3-devel
如果您在 MAC 上,请全局安装
brew install mysql
然后像这样导出路径
export PATH=$PATH:/usr/local/mysql/bin
比全球范围内或在你喜欢的任何地方
pip install MySQL-Python
注意:全局用于 python3,因为 Mac 可以同时拥有 python2 和 3
pip3 install MySQL-Python
您可以使用 MySQL 连接器/Python
通过 PyPip 安装
pip install mysql-connector-python
可在 MySQL Connector/Python 1.0.5 beta announcement 博客上找到更多信息。
在 Launchpad 上,库中有 a good example of how to add-, edit- or remove data。
py-mysql2pgsql
并发现 mysql_config 的错误。我正在使用 MAMP。 mysqk连接器有什么作用?
对于 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
pip
的正确包含文件。 Python 本身通常提供包含位置;手动指定路径最有可能指向错误版本。
sudo pip install MySQL-python
:copying build/lib.linux-x86_64-2.7/_mysql_exceptions.py -> /usr/lib64/python2.7/site-packages error: /usr/lib64/python2.7/site-packages/_mysql_exceptions.py: Permission denied
我试图在 Amazon EC2 Linux 实例上安装 mysql-python
,我必须安装这些:
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
这就是诀窍。
sudo yum install mysql mysql-devel mysql-common mysql-libs gcc
在我的 virtualenv 之外。然后,我返回到我的虚拟环境并运行 pip install mysql-python
并且它起作用了。
dnf install mysql-devel gcc
对我来说已经足够了,这取决于其余的
python-devel
现在会报错,如果使用 python 2.7 试试这个 python27-devel
对于使用 MariaDB 而不是 MySQL 的任何人,解决方案是安装 libmariadbclient-dev
包并使用正确名称创建指向配置文件的符号链接。
例如,这对我有用:
ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
对于 Linux
这对我有用
yum install python-devel mysql-devel
试试sudo apt-get build-dep python-mysqldb
OSX 小牛队
由于 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
对于 mariadb 安装 libmariadbclient-dev 而不是 libmysqlclient-dev
sudo apt-get install libmariadbclient-dev
您应该先安装 mysql
:
yum install python-devel mysql-community-devel -y
然后您可以安装 mysqlclient
:
pip install mysqlclient
我在 Terraform:light 容器中遇到了同样的问题。它基于阿尔卑斯山。
在那里你必须安装 mariadb-dev :
apk add mariadb-dev
但这还不够,因为还遗漏了所有其他依赖项:
apk add python2 py2-pip gcc python2-dev musl-dev
有时错误取决于实际原因。我们有一个通过 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 恢复到其原始状态。
要遵循的顺序。
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。这对我有用
在 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
尝试在 OS X Server 10.6.8 上安装时遇到类似问题。这是我必须做的。使用:
MySQL-python 1.2.4b4 (source) MySQL-5.6.19 (binary installer) Python 2.7 (binary installer) 注意:安装在 virtualenv...
解压源代码,打开“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
现在 clean,build 和 make 不会因为 'mysql_config' not found 错误而失败。希望这可以帮助其他人尝试使用他们的旧 xserve :-)
您的 sudo 路径不知道您的本地路径...进入超级用户模式,添加路径,然后从那里安装。
sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit
你已经在 OSX 上运行起来了。现在你有一个更新的全局 python。
如果您在虚拟环境中安装 MySQL-python,您应该检查 pip 版本,如果版本低于 9.0.1,请更新它
pip install --upgrade pip
写于 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
,一切都会好起来的。
在 MacOS Mojave 上,mysql_config 位于 /usr/local/bin/ 而不是 /usr/local/mysql/bin 如上所述,因此无需向路径添加任何内容。
在我的情况下,当我尝试更新代码时,我的数据库正在容器上运行,而我的烧瓶应用程序正在另一个容器上运行,应用程序因错误而崩溃
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
因为我的烧瓶应用程序运行的地方没有正确配置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
这是不同的情况,但在这里发布,因为可能世界上其他人面临同样的问题
apt-get install python-mysqldb
。sudo apt-get install libmysqlclient-dev
为我工作,sudo apt-get install python-mysqldb
没有帮助sudo apt-get install libmariadbclient-dev
成功了。apt-get install python-dev