我试图让一个Python脚本在我通过ssh连接的linux服务器上运行 . 该脚本使用mysqldb . 我有我需要的所有其他组件,但是当我尝试通过setuptools安装mySQLdb时,如:
python setup.py install
我得到以下与 mysql_config
命令相关的错误报告 .
sh: mysql_config: command not found
Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
是否有其他人遇到此错误,如果是这样,您是如何解决它/我该怎么做才能成功安装mysqldb?
24 回答
(特定于mac)我已经尝试了很多东西,但这些命令最终对我有用 .
brew install mysql
#install mysqlbrew unlink mysql
brew install mysql-connector-c
export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH
#upcate path并将mysql bin文件夹设置为pathsudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib
#create symlinkpip install mysqlclient
#最后安装mysql-client在我的Fedora 23机器上,我必须执行以下操作:
对于Alpine Linux:
$ apk add mariadb-dev mariadb-client mariadb-libs
MariaDB是drop-in replacement for MySQL,并成为Alpine 3.2的新标准 . 见https://bugs.alpinelinux.org/issues/4264
我想,以下行可以在终端上执行
这个mysql_config目录适用于MacOSx上的zend服务器 . 你可以像以下几行一样为linux做这件事
这是默认的linux mysql目录 .
如果通过添加符号链接到
mysql_config
,我遇到了这个问题并解决了 .我用homebrew安装了mysql,并在输出中看到了这个 .
根据你如何得到
mysql
它会在不同的地方 . 就我而言/usr/local/Cellar/mysql
一旦你知道它在哪里,你就应该能够找到python正在寻找它的符号链接 .
/usr/local/mysql
这对我有用 .
你需要安装python-dev包:
mySQLdb是mysql的python接口,但它不是mysql本身 . 显然mySQLdb需要命令'mysql_config',所以你需要先安装它 .
你可以通过从shell运行“mysql”来确认你是否安装了mysql本身?这应该给你一个响应,而不是“mysql:command not found” .
您使用的是哪个Linux发行版? Mysql是为大多数Linux发行版预先打包的 . 例如,对于debian / ubuntu,安装mysql就像这样简单
mysql-config在一个不同的包中,可以安装(再次假设debian / ubuntu):
如果您正在使用mariadb,请更换mysql,然后运行
我正在使用Ubuntu 12.04安装
python-mysql
首先我遇到了同样的问题:
这对我有用
然后我遇到了这个问题:
然后我尝试了
然后我很开心:)
以下在Ubuntu 12.04 LTS上为我工作:
尽管它起作用,我仍然继续做下面的事情:
在Red Hat我必须这样做
然后它奏效了 .
我在尝试安装
mysql-python
时遇到了同样的错误 .这是我修复它的方式 .
问题是安装程序无法在默认路径中找到mysql_config . 现在它可以..它工作..
希望这可以帮助 .
谢谢 .
我通过以下步骤解决了这个问题:
命令(也是mysql)mPATH可能会丢失 .
export PATH=$PATH:/usr/local/mysql/bin/
我通过安装libmysqlclient来修复它:
MySQL-python
包使用mysql_config
命令来了解主机上的mysql
配置 . 您的主机没有mysql_config
命令 .dev.mysql.com的MySQL开发库包(MySQL-devel-xxx)提供了这个命令以及MySQL-python包所需的库 .
MySQL-devel
包可在下载 - 社区服务器区域中找到 . MySQL开发库包名称以MySQL-devel
开头,并且基于MySQL版本和Linux平台(例如MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm
. )而有所不同 .请注意,您不需要安装mysql服务器 .
此方法仅适用于那些知道安装了Mysql但仍然可以在系统路径中找到mysql_config的mysql_config,如果您通过.dmg Mac Package完成安装或安装在某个自定义路径上,则会发生这种情况 . MySqlDB最简单,最简单的方法是更改 site.cfg . 找到可能在 /usr/local/mysql/bin/ 中的mysql_config并更改变量 mysql_config ,如下所示,然后再次运行安装 . 不要忘记删除"#"取消注释改变下面的行
至
取决于系统中的路径 .
顺便说一句,我在更改 site.cfg 之后使用了python install
sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
在centos 7中,这对我有用:
sudo apt-get install python-mysqldb
Python 2.5?听起来你使用的是非常旧版本的Ubuntu Server(Hardy 8.04?) - 请确认服务器使用的是哪个Linux版本 .
python-mysql search on ubuntu package database
一些额外的信息:
来自mysql-python的自述文件 -
红帽Linux .............
MySQL-python预先打包在Red Hat Linux 7.x及更新版本中 . 这包括Fedora Core和Red Hat Enterprise Linux . 您还可以如上所述构建自己的RPM包 .
Debian GNU / Linux ................
打包为
python-mysqldb
_ ::或者使用Synaptic .
.. _
python-mysqldb
:http://packages.debian.org/python-mysqldbUbuntu ......
与Debian相同 .
脚注:如果您确实使用的是比Ubuntu 10.04更早的服务器分发版,那么您将失去官方支持,并且应该尽快升级 .
我遇到了同样的问题,只是添加了* mysql_config *所在的路径到环境变量PATH,它对我有用 .
sudo apt-get build-dep python-mysqldb
将安装所有依赖项以从PIP / easy_install构建程序包因为实际错误是
如果你不能安装python-dev或python-devel包,你可以从http://hg.python.org/下载所需版本的python源的存档,并将头文件放在适当的文件夹中
只需输入:
这将解决这个问题 .
到目前为止,所有解决方案(Linux)都需要
sudo
或root权限才能安装 . 如果您没有root权限且没有sudo
,这是一个解决方案 . (没有sudo apt install ...
):下载libmysqlclient-dev的.deb文件,例如来自this mirror
导航到下载的文件并运行
dpkg -x libmysqlclient-dev_<version tag>.deb .
这将提取名为usr
的文件夹 .符号链接
./usr/bin/mysql_config
到$PATH
上的某个地方:ln -s
pwd
/usr/bin/mysql_config FOLDER_IN_YOUR_PATH
mysql_config
在Ubuntu 18.04上测试过 .
sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev sudo apt-get install MySQL-python
你应该安装python-dev,像MySQL-python这样的包是从源代码编译的 . pythonx.x-dev软件包包含用于链接python的必要头文件 . Why does installing numpy require python-dev in Kubuntu 12.04