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


当前回答

同样,我得到了同样的问题 我通过以下步骤解决了这个问题: 首先运行这个命令

sudo apt-get install libmysqlclient-dev

然后安装

pip install mysqlclient==2.1.0

这对我来说很管用

其他回答

步骤1:-安装Python3和Python3-dev

sudo apt-get install python3 python3-dev

步骤2:-安装Python和Mysql连接器

sudo apt-get install libmysqlclient-dev

步骤3:-安装python mysql客户端

sudo apt-get install mysqlclient

这将解决你的问题

libmysqlclient-dev包已弃用,因此使用下面的命令来修复它。

libmysqlclient-dev包不可用,但由另一个包引用。 这可能意味着包丢失了,已经过时了,或者 只能从其他来源获得

sudo apt-get install default-libmysqlclient-dev

我在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

(如果您使用的是python3,请改为安装python3-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...

如果你在macOS上,并且已经通过brew install安装了mysql@5.7:

安装mysql-connector-c Brew unlink mysql@5.7 酿造链接—覆盖—先运行mysql@5.7,看看哪些符号链接被覆盖 Brew link—overwrite—强制mysql@5.7用mysql@5.7实际覆盖mysql相关的符号链接 PIP安装mysqlclient

当我试图安装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...

希望这能有所帮助。

谢谢。