MYSQL- Python pip安装错误

6

我尝试使用Django构建应用程序,并希望使用MySQL作为数据库。在正确设置settings.py之后,我尝试进行迁移。然而,我遇到了明显的错误,提示MySQL未安装。所以为了安装MySQL,我运行了以下命令:

sudo -H pip install MySQL-python

I get the following error:

    Collecting MySQL-python
  Using cached MySQL-python-1.2.5.zip
    Complete output from command python setup.py egg_info:
    sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/tmp/pip-build-zAMhWo/MySQL-python/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 25, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-zAMhWo/MySQL-python/

我该如何修复这个问题?


可能是安装mysqldb python接口时找不到mysql_config的重复问题。 - GoingMyWay
5个回答

13

MySQL-python

当前支持 MySQL-3.23 到 5.5 版本和 Python-2.4 到 2.7 版本,将在未来的版本中支持 Python-3.0。

你可以安装 mysqlclient 或者 pymysql,我更喜欢后者:

pip install pymysql

并将以下代码添加至你的 manage.py 文件中:

import pymysql
pymysql.install_as_MySQLdb()

sudo 和你的命令起作用了。但我仍然无法运行 python manage.py migrate。 - JGCW
1
@GeethW 将以下代码添加到你的 manage.py 文件中:import pymysql,然后调用 pymysql.install_as_MySQLdb() - McGrady
非常感谢你,麦格雷迪。我真的不明白发生了什么。你能解释一下吗?我尝试了很多驱动程序选项。例如,pip安装mysql-python,然后从Oracle手动下载.dmg文件。但都没有成功。请解释一下。 - JGCW
@GeethW 实际上,我无法解释在安装mysql-python时发生了什么,现在似乎pymysqlmysql-python更友好地支持python。 - McGrady

6
您是否在系统上安装了SQL客户端开发包?
sudo apt install libmysqlclient-dev

如果您正在使用Mariadb作为MySQL的替代品,则运行以下命令:

sudo apt install libmariadbclient-dev

然后再尝试一次

pip install mysql-connector

2
在某些环境下,安装mysql会将二进制文件放置在相对于环境的目录中。pip安装失败是因为setup.py在预期路径中找不到mysql_config。以下是源代码安装的步骤-
  1. 这里下载文件。编辑MySQL-python-1.2.5/site.cfg中提到的mysql_config路径,使用本地环境中正确的路径。例如,
mysql_config = /usr/local/mysql/bin/mysql_config
  1. MySQL-python-1.2.5目录下执行以下命令:

注:原回答为"Original Answer"

$ python setup.py build
$ sudo python setup.py install

1

1
我也曾遇到同样的问题,尝试在RHEL/Centos上安装mysqlclient,请尝试安装mysql-devel。例如:
yum install mysql-devel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接