pip安装MySQL-python时出错

时间:2016-05-22 13:03:19

标签: python mysql django macos

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

我一直在尝试按照本教程https://realpython.com/learn/start-django/进行操作,并提到这一点:

数据库设置 首先,安装MySQL-python,它是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$ 

一切都运行良好,但是当我尝试安装MySQL-python时,我收到以下错误:

xcode-select --install

我发现这个答案https://opensourcehacker.com/2011/03/02/installing-mysql-python-connector-on-osx/表示MySQL实用程序不可用,所以我按照他们的建议修复它但无济于事。我也尝试过安装开发人员工具ez_setup,正如一些人所建议的那样。我尝试重新安装SqlCommand

不确定从哪里开始,任何帮助都非常感激。

7 个答案:

答案 0 :(得分:12)

在我看来,系统中缺少mysql_config,或者安装程序找不到它。请确保确实安装了mysql_config。

例如,

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

  • 运行Mac OSX Mountain Lion,我只是在终端中运行它来修复: export PATH = $ PATH:/ usr / local / mysql / bin

这是我找到的最快的修复方法。

答案 1 :(得分:2)

我在使用pip安装mysql包时也遇到了同样的错误但是在安装了libmysqlclient-dev之后

  • sudo apt install libmysqlclient-dev
  • pip install mysql

现在它对我有用..

验证

  
    
      

导入mysql

    
  
  • 没有发现任何错误,已成功安装并正常工作 适当

答案 2 :(得分:1)

使用以下方法检查您的mysql配置文件:

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.

现在你应该得到这样的输出:

Resource
id
title
description
tags

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

答案 3 :(得分:1)

如果您使用Windows OS直接从here下载并安装mysql-python

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

我运行以下命令,它在Ubuntu 17.10中运行顺利

sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient

答案 6 :(得分:-1)

为了完整起见,在Debian Stretch上,pkg现在称为 default-libmysqlclient-dev

sudo apt-get install default-libmysqlclient-dev