关于linux:安装mysqldb python接口时找不到mysql_config

mysql_config not found when installing mysqldb python interface

我正在尝试让一个python脚本在我通过ssh连接的Linux服务器上运行。脚本使用mysqldb。我有我需要的所有其他组件,但是当我尝试通过安装工具安装mysqldb时,比如:

1
python setup.py install

我得到了与mysql_config命令相关的以下错误报告。

1
2
3
4
5
6
7
8
9
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?


mysqldb是用于mysql的python接口,但它不是mysql本身。显然,mysqldb需要命令'mysql_config',所以您需要首先安装它。

通过从shell运行"mysql",可以确认是否安装了mysql本身吗?这将给您一个除"mysql:command not found"之外的响应。

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

1
sudo apt-get install mysql-server

mysql-config在另一个包中,可以从安装(同样,假设debian/ubuntu):

1
sudo apt-get install libmysqlclient-dev

如果您使用的是mariadb,那么运行

1
sudo apt-get install libmariadbclient-dev


我在Ubuntu 12.04上安装python-mysql,使用

1
pip install mysql-python

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

1
Not Found"mysql_config"

这对我有用

1
$ sudo apt-get install libmysqlclient-dev

然后我遇到了这个问题:

1
2
3
4
5
6
...
_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

然后我试着

1
apt-get install python-dev

然后我很高兴:)

1
2
3
4
5
6
7
8
9
10
11
12
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...


for the below Ubuntu的12.04 LTS的工作都由我:P></

1
apt-get install libmysqlclient-dev python-dev

虽然它的工作都在前进,我去给你:below to theP></

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

红色的帽子给我在线P></

1
2
sudo yum install mysql-devel gcc gcc-devel python-devel
sudo easy_install mysql-python

然后挤压它。P></


我在安装MySQL-python时遇到同样的错误。

我就是这样修好的。

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

问题是安装程序在默认路径中找不到mysql_配置。现在它可以……而且它起作用了……

1
2
3
4
5
 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...

希望这有帮助。

谢谢。


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

1
2
3
sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev
sudo python setup.py install

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

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


(have tried to Mac特异)many things but a Lot of these commands集,最后挤压的感觉。P></

  • brew install mysql#安装MySQL
  • brew unlink mysql
  • brew install mysql-connector-c
  • export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH#更新路径和路径的MySQL斌folder to set the
  • sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib#创建软链接
  • 安装MySQL客户端pip install mysqlclient# -最后

  • MySQL-python包使用mysql_config命令了解主机上的mysql配置。您的主机没有mysql_config命令。

    dev.mysql.com中的mysql development libraries包(mysql-devel-xxx)提供此命令和mysql python包所需的库。MySQL-devel包位于下载社区服务器区域。mysql开发库包名称以MySQL-devel和基于不同版本的mysql和linux平台(如MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm)开头。

    注意,您不需要安装mysql服务器。


    我通过安装libmysqlclient修复了它:

    1
    sudo apt-get install libmysqlclient16-dev

    我的机器上运行Fedora 23我下面:P></

    1
    sudo dnf install mysql-devel

    高山:Linux forP></

    $ apk add mariadb-dev mariadb-client mariadb-libsP></

    mariadb is for MySQL和下拉在替代标准as of the new就高山3.2。HTTPS协议:问题/ / / / bugs.alpinelinux.org 4264P></


    如果你已经macos installed"和在线等:5.7安装MySQL的BREWP></

  • brew install mysql-connector-c
  • brew unlink [email protected]
  • brew link --overwrite --dry-run [email protected]第一,要看是什么overwritten符号链接
  • 其实brew link --overwrite --force [email protected]to overwrite MySQL MySQL @ 5.7与相关的符号链接
  • pip install mysqlclient

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

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

    此mysql_config目录用于MacOSX上的Zend服务器。你可以在Linux上这样做,就像下面几行

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

    这是默认的linux mysql目录。


    我的问题和solved if by this to mysql_config增到符号。P></

    我看到homebrew installed with this MySQL和茶叶中的输出。P></

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

    你有在线depending how will be different mysql恩在的地方。在我的房子/usr/local/Cellar/mysql"你知道它是You should be to但能象征链接Python to where is looking for it./usr/local/mysqlP></

    我在这已经工作了。P></

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

    您需要安装python dev包:

    1
    sudo apt-get install python-dev

    本厂为我在CentOS:7P></

    1
    2
    yum install mariadb-devel
    pip install mysqlclient

    this method is only for那些谁知道MySQL的MySQL配置_ is installed但我发现我不能。如果这能不能找到Python安装在你的系统路径_ mysql config,which have done the是什么事情发生,如果你安装的路径.dmg at some or installed MAC包自定义的路径。easiest & the documented mysqldb is to change the Way site.cfg模式。find the which is probably在_配置MySQL MySQL/usr/local /茶叶/斌/和变化的变量namely MySQL配置和运行_ below the装置一类了。不要忘了一个"#除尘-恩"模式CommentP></

    相变线的下面P></

    "#mysql_config = /usr/local/bin/mysql_config"

    toP></

    "mysql_config = /usr/local/mysql/bin/mysql_config"

    在你的系统depending upon the path。P></

    顺便的Python安装site.cfg changing the used afterP></

    sudo /系统/图书馆/ / / /间python.framework versions python setup.py install 2.7/bin/P></


    sudo apt get安装python mysqldb

    Python2.5?听起来您使用的是非常老的Ubuntu服务器版本(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

    1
    # apt-get install python-mysqldb

    或者使用突触。

    …_ python-mysqldb:http://packages.debian.org/python-mysqldb

    乌邦图……

    与Debian相同。

    脚注:如果您使用的是比Ubuntu10.04旧的服务器分发版,那么您将失去官方支持,应该尽早升级。


    我遇到了同样的问题,只是将*mysql_config*所在的路径添加到环境变量path中,它对我很有用。


    sudo apt-get build-dep python-mysqldb将安装所有依赖项以从pip/easy-install构建包。


    实际误差是

    1
    2
    3
    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源的归档文件,并将头文件放在适当的文件夹中,以便包含


    一型:P></

    1
    2
    $ sudo apt-get install python-dev
    $ venv/bin/pip install MySQL-python

    这将解决这个问题。P></


    我的解决方案(Linux),require to install sudo权利或根。解决方案是在这里如果你没有权利和do not have sudo根。(不sudo apt install ...):P></

  • 下载文件- .deb libmysqlclient the of the dev的,例如from this镜报
  • 你的文件和dpkg -x libmysqlclient-dev_.deb .downloaded to the run this folder会在我usr提取物。
  • ./usr/bin/mysql_configthat is found to符号的地方:你的$PATH在线P></

    ln -s`pwd`/usr/bin/mysql_config FOLDER_IN_YOUR_PATHP></

  • 它现在可以找到mysql_configshould beP></

  • 在线测试Ubuntu 18.04%。P></


    我一样的问题。本教程的solved EN by following to install Ubuntu开发Python与python3 16.04:在线P></

    1
    2
    3
    4
    sudo apt-get update
    sudo apt-get -y upgrade
    sudo apt-get install -y python3-pip
    sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

    现在你可以检查你的虚拟环境:集P></

    1
    2
    3
    sudo apt-get install -y python3-venv
    pyvenv my_env
    source my_env/bin/activate

    macos configuration for莫哈韦,额外的要求是,你可能compilers for to find OpenSSL集:need toP></

    1
    2
    export LDFLAGS="-L/usr/local/opt/openssl/lib"
    export CPPFLAGS="-I/usr/local/opt/openssl/include"

    sudo的ATP - get install libmysqlclient DEVsudo的ATP - get install Python开发sudo的ATP - get install MySQL的PythonP></

    你应该通知你的Python安装好packages as the Python类,compiled从MySQL是开源的。pythonx.x-dev contain the necessary for the header packages对Python文件链接。为什么你必须numpy does installing Python在Kubuntu 12.04P></