你如何为 Flask 安装 MySQL? [复制]

Posted

技术标签:

【中文标题】你如何为 Flask 安装 MySQL? [复制]【英文标题】:How do you install MySQL for Flask? [duplicate] 【发布时间】:2018-01-19 14:15:59 【问题描述】:

我使用的是 OS X Yosemite,Python 3.6.2,并且基本上阅读了有关将 mysql 安装到烧瓶中的每一篇 *** 帖子。

我已经尝试过 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/

【问题讨论】:

如果你不能使用 apt 这确实是一个更大的问题你应该解决,它与 Python 无关。 这里解释了两个不同的包 https://***.com/questions/45521644/flask-flaskext-mysql-no-attribute-connection/45522011#45522011 @Nabin 非常感谢!我想我能够安装它,因为我收到消息“成功安装 flask-mysqldb-0.2.0”我在我的 pip 列表中有“Flask-MySQLdb (0.2.0)”。 MySQL 应该已经安装了吧? 【参考方案1】:

安装 MySQL 包和依赖项

Ubuntu

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

Mac 操作系统

 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

【讨论】:

@Kaliz 我仍然得到相同的错误,因为我尝试了 pip install configparser 和 ConfigParser。已满足要求:/Users/yuyaKawahara/Desktop/projects/venv/lib/python3.6/site-packages 中的 configparser @Robert 根据你的python版本只安装一个configparser或者ConfigParser 我正在使用 python3,所以我安装了 configparser 但我仍然得到同样的错误。换了个方法,结果还是一样…… 我看到几个帖子说只有mysqlclient就足够了,这是真的吗?【参考方案2】:

问题的根源就在这里

操作系统错误:找不到 mysql_config

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

请参阅下面的此链接。 mysql

【讨论】:

我安装了 MySQL 但我仍然收到错误,而且我仍然无法使用 sudo apt-get 命令。 我猜你安装了错误的包,它与 python 版本不兼容。我的猜测是您正在使用 python3,其中 ConfigParser(in python2) 已重命名为 configparser 当你说包错了,我应该卸载什么安装什么包? 尝试使用 mysqlclient 包,它是 MySQL-python 的替代品。它是 MySQL-python 的一个分支,增加了对 Python 3 的支持。使用命令:pip install mysqlclient @Robert 我更新我的答案检查这是由于 Python 版本【参考方案3】:

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

【讨论】:

谢谢!我想我能够安装 MySQL,但现在出现错误 ModuleNotFoundError: No module named 'ConfigParser'

以上是关于你如何为 Flask 安装 MySQL? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

你如何为 getInitialProps 编写 Jest 测试?

你如何为 iPhone 实现横向启动屏幕?

你如何为 IE 开发插件?

你如何为 UIImagePickerController 的导航栏着色/自定义?

你如何为不基于文本的东西创建 UIMenuController?

你如何为 python 模块的 argparse 部分编写测试?