你如何为Flask安装MySQL?

时间:2017-08-11 06:55:49

标签: python mysql flask

我正在使用OS X Yosemite,Python 3.6.2并且基本上经历了关于将MySQL安装到烧瓶中的每一个stackoverflow帖子。

我尝试了pip install flask-mysqlDB,这给了我错误

Collecting flask-mysqldb
  Using cached Flask-MySQLdb-0.2.0.tar.gz
Requirement already satisfied: Flask>=0.10 in ./venv/lib/python3.6/site-packages (from flask-mysqldb)
Collecting mysqlclient (from flask-mysqldb)
  Using cached mysqlclient-1.3.10.tar.gz
    Complete output from command python setup.py egg_info:
    /bin/sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/c4/y49xcq6j6jlcr_8yyckm75th0000gp/T/pip-build-32rvmlzy/mysqlclient/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/private/var/folders/c4/y49xcq6j6jlcr_8yyckm75th0000gp/T/pip-build-32rvmlzy/mysqlclient/setup_posix.py", line 44, in get_config
        libs = mysql_config("libs_r")
      File "/private/var/folders/c4/y49xcq6j6jlcr_8yyckm75th0000gp/T/pip-build-32rvmlzy/mysqlclient/setup_posix.py", line 26, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    OSError: mysql_config not found

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/c4/y49xcq6j6jlcr_8yyckm75th0000gp/T/pip-build-32rvmlzy/mysqlclient/

由于我的Mac版本,sudo apt-get命令都不起作用。由brew install python安装的自制程序,我仍然无法使用sudo apt-get命令。

我的点子列表是

click (6.7)
Flask (0.12.2)
itsdangerous (0.24)
Jinja2 (2.9.6)
MarkupSafe (1.0)
mysql-connector-python-rf (2.2.2)
mysqlclient (1.3.10)
pip (9.0.1)
setuptools (28.8.0)
virtualenv (15.1.0)
Werkzeug (0.12.2)

现在我有一个错误说:

Collecting MySQL-python
  Using cached MySQL-python-1.2.5.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/c4/y49xcq6j6jlcr_8yyckm75th0000gp/T/pip-build-n8on2g_t/MySQL-python/setup.py", line 13, in <module>
        from setup_posix import get_config
      File "/private/var/folders/c4/y49xcq6j6jlcr_8yyckm75th0000gp/T/pip-build-n8on2g_t/MySQL-python/setup_posix.py", line 2, in <module>
        from ConfigParser import SafeConfigParser
    ModuleNotFoundError: No module named 'ConfigParser'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/c4/y49xcq6j6jlcr_8yyckm75th0000gp/T/pip-build-n8on2g_t/MySQL-python/

3 个答案:

答案 0 :(得分:2)

安装MySQL包和依赖项

<强> Ubuntu的

 sudo apt-get install python-pip python-dev libmysqlclient-dev

Mac OS

 brew install mysql-connector-c

使用 PIP

 pip install MySQL-python

在Python 3中, ConfigParser 已重命名为 configparser 。您正在安装的软件包不支持Python 3。

所以在Python 3中

pip install configparser

在python 2中

pip install ConfigParser

答案 1 :(得分:1)

问题的根本原因在于

  

OSError:找不到mysql_config

mySQLdb是mysql的python接口,但它不是mysql本身。你需要先安装mysql。

请参阅以下链接。 mysql

答案 2 :(得分:0)

您似乎对所安装的内容感到困惑。你需要两件事:MySQL和一个允许Flask使用MySQL的Python模块。你正在安装后者,但除非你真的拥有MySQL,否则它没有用。 MySQL是完全独立于Python的软件,因此任何基于pip的软件都无法成功安装它。停止搜索如何将“安装到Flask”中并开始搜索诸如“如何在Mac上安装MySQL”之类的内容,并且您将走上正确的轨道。