使用pip安装MySQL-python出现错误

3

我已经尝试了几天来解决这个问题,查看了其他的问题,但我找不到一个与我得到的错误相同的问题。

我一直在尝试按照这个教程https://realpython.com/learn/start-django/进行操作,现在到了这个步骤:

数据库设置 首先,安装MySQL-python,它是Python的一个数据库连接器:

$ pip install MySQL-python

到目前为止,一切都运行良好,但当我尝试安装MySQL-python时,出现以下错误:

(env) Camerons-MacBook-Pro:django15_project camrail$ pip install MySQL-python
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/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/private/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "/private/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/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/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/
(env) Camerons-MacBook-Pro:django15_project camrail$ 
我发现这个答案https://opensourcehacker.com/2011/03/02/installing-mysql-python-connector-on-osx/说MySQL工具未得到提供,所以我按照他们的建议修复了它,但是没有成功。我还尝试安装开发者工具xcode-select --install,正如一些人建议的那样。我也尝试重新安装ez_setup
目前不确定下一步该怎么做,非常感谢任何帮助。

1
尝试使用此链接:https://dev59.com/-m435IYBdhLWcg3w1z4t - Muhammad Shoaib
请查看以下Mac OSX相关内容:https://dev59.com/-m435IYBdhLWcg3w1z4t#12621216 - sheshkovsky
谢谢大家,特别是这个有效:export PATH=$PATH:/usr/local/mysql/bin - Cam Rail
7个回答

12

在我看来,您的系统上缺少mysql_config,或者安装程序找不到它。请确保mysql_config已经安装。

例如:

  • 在Debian/Ubuntu中,您必须安装以下软件包:sudo apt-get install libmysqlclient-dev

  • 在运行Mac OSX Mountain Lion时,我只需在终端中运行此命令即可解决问题:export PATH=$PATH:/usr/local/mysql/bin

这是我发现的最快的解决方法。


3

在使用pip安装mysql包时,我也遇到了同样的错误。但是在安装libmysqlclient-dev之后,问题得以解决。

  • sudo apt install libmysqlclient-dev
  • pip install mysql

现在它已经可以正常工作了。

验证:

import mysql

  • 没有发现任何错误,意味着安装成功并且可以正常运行。

1

使用以下内容检查您的mysql配置文件:


mysql_config

现在你应该得到类似这样的输出:
mysql_config 
Usage: /usr/bin/mysql_config [OPTIONS]
Compiler: GNU 6.3.0
Options:
        --cflags         [-I/usr/include/mysql ]
        --cxxflags       [-I/usr/include/mysql ]
        --include        [-I/usr/include/mysql]
        --libs           [-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -latomic -ldl]
        --libs_r         [-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -latomic -ldl]
        --plugindir      [/usr/lib/mysql/plugin]
        --socket         [/var/run/mysqld/mysqld.sock]
        --port           [0]
        --version        [5.7.18]
        --libmysqld-libs [-L/usr/lib/x86_64-linux-gnu -lmysqld -lpthread -lz -lm -lrt -latomic -lcrypt -ldl -laio -llz4 -lnuma]
        --variable=VAR   VAR is one of:
                pkgincludedir [/usr/include/mysql]
                pkglibdir     [/usr/lib/x86_64-linux-gnu]
                plugindir     [/usr/lib/mysql/plugin]
Ideally it should contain libmysqld-libs option. If it is not there, as it was not there in my case, you can assume that your mysql is broken.

在这种情况下,您可以直接将此配置写入配置文件。

1
如果您正在使用 Windows 操作系统,请从 此处 直接下载并安装 mysql-python

0

不确定它是否有用。但它帮助我解决了问题。

apt-get install build-essential zlib1g zlib1g-dev zlibc libxml2 libxml2-dev

0

为了完整起见,在Debian Stretch上,该软件包现在被称为default-libmysqlclient-dev

sudo apt-get install default-libmysqlclient-dev

那个对我起作用了。 - Peko Chan

0

我在Ubuntu 17.10上运行了以下命令,它工作得很顺利

sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient

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