【问题标题】:Django on Mac OS X requires install of MySQLdbMac OS X 上的 Django 需要安装 MySQLdb
【发布时间】:2012-09-18 12:51:04
【问题描述】:

我尝试将 Django 设置为使用 MySQL 数据库,但由于后端不可用而导致阻塞。在网上阅读我发现需要安装 MySQLdb,也许还需要安装 _mysql。我很惊讶有这么多不同的指令集可用,它们在安装过程中似乎都做了不同的事情。也有大量关于安装 MySQLdb 问题的帖子,并且经常有关于安装是 PIA 的 cmets。这让我停下来,因为我想我可能做出的任意选择可能会导致随机且难以追踪错误。

对于最可靠的安装方法是否有共识?

我不介意配置问题。我只是希望不要造成原始问题。作为一个普遍的咆哮,MySQL 如此普遍的 DBMS,为什么没有在 Django 中安装后端?

【问题讨论】:

  • Django 是一个网络框架。它绝对没有包括数据库后端在内的业务。
  • @DanielRoseman - 我想我被包含所有工具的 Django 的警笛声所左右。 SQLite 的后端已经包含在内,更改后端只是 setting.py 文件中的一行,而 Django 说在设置文件中放入什么,人们会认为 MySQLdb 就在那里。唉,不是。现在,作为一个标准的 python 库,我明白为什么不包含它。至于安装的最佳实践,我想知道。也许 PEP 249 会有所帮助。
  • @DanielRoseman - Django 文档中似乎有一个错误。在docs.djangoproject.com/en/dev/ref/settings/#engine 中,它声明内置后端包括“django.db.backends.mysql”。然而,情况似乎并非如此。关于向谁提及此事的任何想法? - 史蒂夫

标签: django mysql-python


【解决方案1】:

我使用Homebrew 来安装 MySQL 之类的东西。很简单:

  1. 安装自制软件:

    ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
    
  2. 使用 Homebrew 安装 MySQL:

    brew install mysql
    
  3. 使用您喜欢的 Python 安装机制(我更喜欢使用 Pip)安装 MySQL Python module

    pip install MySQL-python
    

作为一般的咆哮,MySQL 如此普遍的 DBMS,为什么后端没有安装在 Django 中?

您可以在 Django 中使用其他数据库后端(例如 SQLite 或 PostgreSQL),并且 MySQL 连接器本身是一个安装在 Django 之外的模块(并且可能被其他软件使用——很多情况下它可能已经安装) .

【讨论】:

  • 我已经安装了 MySQL。我在之前安装的 MySQL 之上添加了 MySQLdb。 pip 作为 MySQL 的安装方法是我见过的 MySQLdb 安装的另一种方法。
  • 正如@mipadi 所说,您需要确保您拥有提供对MySQL 的访问的python 模块。您想使用 MySQL 而不是 PostgreSQL 的任何原因? Django 社区中的大多数开发人员似乎更喜欢后者(包括 Django 的核心开发团队),而且 Django 的 ORM 已经足够先进,可以抽象出大多数用例。
  • 是的 - 我的医疗实践数据库运行 MySQL。数据库不是一阶规范化的是另一个问题-sigh-。我这里的顽固人群因为询问有关安装 MySQLdb 的共识观点而受到抨击,而且我没有充分研究以知道缺少 MySQLdb 是问题所在。也许我不应该贬低 MySQLdb 难以安装。也许是一些敏感的开发人员。尽管如此,当我弄清楚如何安全地安装 MySQLdb 以便我可以让我的 Django 项目与 Macpractice 交互时,我会发回给 stackoverflow。这里的人太善良了。
  • 哦,对了,问题不是如何安装MySQL,而是安装Python包MySQLdb的共识是什么。 @mipadi
  • @kd4ttc:没有达成共识,这就是为什么有许多不同的方法。这是一种常见的方式。
猜你喜欢
  • 2011-07-28
  • 2014-11-19
  • 2011-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-04
  • 2011-08-24
  • 1970-01-01
相关资源
最近更新 更多