alpine mysql config_linux - 安装mysqldb python时找不到mysql_config

linux - 安装mysqldb python时找不到mysql_config

我试图让一个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

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个解决方案

505 votes

mySQLdb是mysql的python接口,但它不是mysql本身。 显然mySQLdb需要命令'mysql_config',所以你需要先安装它。

你可以通过从shell运行“mysql”来确认你是否安装了mysql本身? 这应该给你一个响应,而不是“mysql:command not found”。

您使用的是哪个Linux发行版? Mysql是为大多数Linux发行版预先打包的。 例如,对于debian / ubuntu,安装mysql就像这样简单

sudo apt-get install mysql-server

mysql-config在一个不同的包中,可以安装(再次假设debian / ubuntu):

sudo apt-get install libmysqlclient-dev

如果您正在使用mariadb,请更换mysql,然后运行

sudo apt-get install libmariadbclient-dev

amarillion answered 2019-01-08T08:39:16Z

157 votes

我正在使用Ubuntu 12.04安装python-mysql

pip install mysql-python

首先我遇到了同样的问题:

Not Found "mysql_config"

这对我有用

$ sudo apt-get install libmysqlclient-dev

然后我遇到了这个问题:

...

_mysql.c:29:20: error fatal: Python.h: No existe el archivo o el directorio

compilación terminada.

error: command 'gcc' failed with exit status 1

然后我尝试了

apt-get install python-dev

然后我很开心:)

pip install mysql-python

Installing collected packages: mysql-python

Running setup.py install for mysql-python

building '_mysql' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.2.4b4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g

In file included from _mysql.c:44:0:

/usr/include/mysql/my_config.h:422:0: aviso: se redefinió "HAVE_WCSCOLL" [activado por defecto]

/usr/include/python2.7/pyconfig.h:890:0: nota: esta es la ubicación de la definición previa

gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so

Successfully installed mysql-python

Cleaning up...

xtornasol512 answered 2019-01-08T08:40:09Z

27 votes

以下在Ubuntu 12.04 LTS上为我工作:

apt-get install libmysqlclient-dev python-dev

虽然它有效但我还是继续做下面的事情:

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

nasowah answered 2019-01-08T08:40:37Z

24 votes

在Red Hat我必须这样做

sudo yum install mysql-devel gcc gcc-devel python-devel

sudo easy_install mysql-python

然后它奏效了。

Elliott answered 2019-01-08T08:41:05Z

23 votes

我在尝试安装mysql-python时遇到了同样的错误。

这是我修复它的方式。

sudo PATH=/usr/local/mysql/bin/:$PATH pip install mysql-python

问题是安装程序无法在默认路径中找到mysql_config。 现在它可以..它工作..

15 warnings generated.

clang -bundle -undefined dynamic_lookup -Wl,-F. build/temp.macosx-10.8-intel-2.7/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.8-intel-2.7/_mysql.so -arch x86_64

Successfully installed mysql-python

Cleaning up...

希望这可以帮助。

谢谢。

Mayank R Jain answered 2019-01-08T08:41:43Z

17 votes

我通过以下步骤解决了这个问题:

sudo apt-get install libmysqlclient-dev

sudo apt-get install python-dev

sudo python setup.py install

zhaozhi answered 2019-01-08T08:42:05Z

16 votes

命令(也是mysql)mPATH可能会丢失。

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

samwize answered 2019-01-08T08:42:33Z

8 votes

我通过安装libmysqlclient来修复它:

sudo apt-get install libmysqlclient16-dev

thoslin answered 2019-01-08T08:42:55Z

7 votes

MySQL-devel程序包正在使用MySQL-devel命令了解主机上的MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm配置。 您的主机没有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服务器。

John Livingston answered 2019-01-08T08:43:30Z

5 votes

在我的Fedora 23机器上,我必须执行以下操作:

sudo dnf install mysql-devel

Raptor answered 2019-01-08T08:43:51Z

5 votes

对于Alpine Linux:

$ apk add mariadb-dev mariadb-client mariadb-libs

MariaDB是MySQL的直接替代品,并成为Alpine 3.2的新标准。 见[https://bugs.alpinelinux.org/issues/4264]

aboutaaron answered 2019-01-08T08:44:26Z

5 votes

(具体到mac)我已经尝试了很多东西,但这些命令最终对我有用。

brew install mysql #install mysql

pip install mysqlclient

pip install mysqlclient

pip install mysqlclient #upcate path并将mysql bin文件夹设置为path

pip install mysqlclient #create symlink

pip install mysqlclient #six mysql-client finally

Pulkit Pahwa answered 2019-01-08T08:46:21Z

4 votes

我想,以下行可以在终端上执行

sudo ln -s /usr/local/zend/mysql/bin/mysql_config /usr/sbin/

这个mysql_config目录适用于MacOSx上的zend服务器。 你可以像以下几行一样为linux做这件事

sudo ln -s /usr/local/mysql/bin/mysql_config /usr/sbin/

这是默认的linux mysql目录。

hkulekci answered 2019-01-08T08:46:56Z

4 votes

如果通过添加符号链接到mysql,我遇到了这个问题并解决了。

我用homebrew安装了mysql,并在输出中看到了这个。

Error: The `brew link` step did not complete successfully

根据你如何得到mysql它将在不同的地方。 在我的情况下/usr/local/Cellar/mysql

一旦你知道它在哪里,你就应该能够找到python正在寻找它的符号链接。/usr/local/mysql

这对我有用。

ln -s /usr/local/Cellar/mysql/<< VERSION >>/bin/mysql_config /usr/local/mysql/bin/mysql_config

Schechter answered 2019-01-08T08:47:43Z

3 votes

你需要安装python-dev包:

sudo apt-get install python-dev

ebarch answered 2019-01-08T08:48:05Z

2 votes

此方法仅适用于那些知道已安装Mysql但仍无法找到mysql_config的人。 如果python install在您的系统路径中找不到mysql_config,则会发生这种情况,如果您通过.dmg Mac Package完成安装或在某个自定义路径上安装,则会发生这种情况。 MySqlDB最简单,最简单的方法是更改site.cfg。 找到可能在/ usr / local / mysql / bin /中的mysql_config,然后像下面一样更改变量mysql_config并再次运行安装。 别忘了删除“#”取消注释

改变下面的行

“#mysql_config = / usr / local / bin / mysql_config”

“mysql_config = / usr / local / mysql / bin / mysql_config”

取决于系统中的路径。

顺便说一句,我在更改site.cfg后使用了python install

sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install

Ahsan.Amin answered 2019-01-08T08:49:07Z

2 votes

在centos 7中,这对我有用:

yum install mariadb-devel

pip install mysqlclient

Rajiv Sharma answered 2019-01-08T08:49:29Z

1 votes

sudo apt-get install python-mysqldb

Python 2.5? 听起来你使用的是非常旧版本的Ubuntu Server(Hardy 8.04?) - 请确认服务器使用的是哪个Linux版本。

在ubuntu包数据库上搜索python-mysql

一些额外的信息:

来自mysql-python的自述文件 -

红帽Linux.............

MySQL-python预装在Red Hat Linux 7.x及更新版本中。 这个包括Fedora Core和Red Hat Enterprise Linux。 你也可以如上所述构建您自己的RPM包。

Debian GNU / Linux................

打包为python-mysqldb_ ::

# apt-get install python-mysqldb

或者使用Synaptic。

.. _python-mysqldb:[http://packages.debian.org/python-mysqldb]

Ubuntu的......

与Debian相同。

脚注:如果您确实使用的是比Ubuntu 10.04更早的服务器分发版,那么您将失去官方支持,并且应该尽快升级。

Gary answered 2019-01-08T08:51:16Z

1 votes

我遇到了同样的问题,只是添加了* mysql_config *驻留到环境变量PATH的路径,它对我有用。

flyer answered 2019-01-08T08:51:38Z

1 votes

sudo apt-get build-dep python-mysqldb将安装所有依赖项以从PIP / easy_install构建程序包

Thomas Grainger answered 2019-01-08T08:52:03Z

1 votes

因为实际错误是

gcc ... -I/usr/include/python2.7 ...

_mysql.c:29:20: error: Python.h: No such file or directory

如果你不能安装python-dev或python-devel包,你可以从[http://hg.python.org/]下载所需版本的python源存档,并将头文件放在适当的文件夹中

Oleg Neumyvakin answered 2019-01-08T08:52:32Z

1 votes

只需输入:

$ sudo apt-get install python-dev

$ venv/bin/pip install MySQL-python

这将解决这个问题。

Luciano D. Mota answered 2019-01-08T08:53:00Z

0 votes

到目前为止,所有解决方案(Linux)都需要mysql_config或root权限才能安装。如果您没有root权限且没有$PATH,那么这是一个解决方案。(no `pwd`):

下载libmysqlclient-dev的.deb文件,例如 从这面镜子

导航到下载的文件并运行mysql_config这将解压缩名为$PATH的文件夹。

符号链接mysql_config到$PATH上的某处:ln -s`pwd` / usr / bin / mysql_config FOLDER_IN_YOUR_PATH

它现在应该能够找到mysql_config

在Ubuntu 18.04上测试过。

RunOrVeith answered 2019-01-08T08:54:01Z

-2 votes

sudo apt-get install libmysqlclient-devsudo apt-get install python-devsudo apt-get install MySQL-python

你也应该安装python-dev,像MySQL-python这样的软件包是从源代码编译的。 pythonx.x-dev软件包包含用于链接python的必要头文件。 为什么在Kubuntu 12.04中安装numpy需要python-dev

Ivan Wang answered 2019-01-08T08:54:32Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值