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


当前回答

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

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

sudo apt-get install default-libmysqlclient-dev

其他回答

到目前为止,所有解决方案(Linux)都需要sudo或root权限才能安装。 这里有一个解决方案,如果你没有根权限,没有sudo。(no sudo apt install…)

下载libmysqlclient-dev的.deb文件,例如从这个镜像 导航到下载的文件并运行dpkg -x libmysqlclient-dev_<version tag>.deb。这将提取一个名为usr的文件夹。 Symlink ./usr/bin/mysql_config到你的$PATH: ln -s ' pwd ' /usr/bin/mysql_config FOLDER_IN_YOUR_PATH 它现在应该能够找到mysql_config

在Ubuntu 18.04上测试。

我也有同样的问题。我通过遵循本教程在Ubuntu 16.04上使用python3-dev安装Python来解决这个问题:

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

现在你可以设置你的虚拟环境:

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

在红帽上,我不得不这么做

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

然后就成功了。

下面是我在Ubuntu 12.04 LTS上使用的:

apt-get install libmysqlclient-dev python-dev

尽管它很有效,但我还是继续做了下面的事情:

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

在CentOS 7中,yum安装mysql-devel而不是yum安装mysql-community-devel

这并不需要你添加mysql回购。