我已经工作了好几个小时,试图让MySQL使用Mac OS X,Python(我已经尝试过2.7和3.3)以及Django 1.6。Mac OS X + Python + Django + MySQL
本主题在SO和其他许多网页上以及多年期间(一个解决方案明确使用MySQLdb 1.2.2,最后一次于2007年3月进行了修改)进行了讨论。有些帖子似乎说它们有效,但是当我尝试他们的解决方案时,它不适合我。另一方面,几个月前的一篇文章坦率地说,这是无法完成的。
问题的核心似乎是安装驱动程序(不管是MySQLdb还是mysql连接器),并且症状因您所遵循的指示而异。当您最终尝试“python manage.py syncdb”时,来自各种尝试解决方案的典型show-stoppers一直是“No module named'MySQLdb'”和“Symbol not found:_mysql_affected_rows”。
有人想知道尝试这么多解决方案的行为本身是否已经让我的开发环境搞砸了,以至于现在无法使用干净的平板来工作。是的,我已经尝试过,无论有没有virtualenv。我不知道virtualenv是否让我更接近或者不是,因为我不知道如何认识更近。
我碰巧在我的机器上安装了OS X 10.7.5(Lion)和MySQL 5.0。这些都不是最新版本,但我不知道这是否重要,我不愿意改变事情。他们对我的机器上的其他MySQL应用程序工作正常。如果解决方案适用于更高版本,我会很乐意升级其中之一或两者。
有没有人真的有配置作为这篇文章的标题工作,与Python 2.7或3.3?如果是这样,如果你能指导我解决问题,我将非常感激。
UPDATE
我只是想让读者知道,我最终没有得到我的应用程序与Python 3.3,1.6 Django的运行,和MySQL排序的。我的应用程序已运行数月。
对不起,我没有时间重新创建许多小时的步骤和错误的步骤,我遵循这个工作。我就勾勒出关键点:
我开始使用比十年前更多的Mac电脑,开始与PowerBook笔记本电脑,所以我的Mac有很多关于它的旧东西。我最终决定必须做的第一件事是摆脱Python和Django的每一个副本; MacPorts和Fink等安装程序;以及他们喜欢将其安装到的任何目录。谷歌当然对我学习如何做到这一点非常宝贵,以及下面提到的所有其他步骤。
然后,我开始使用Homebrew作为我唯一的命令行安装程序,新鲜(尽可能让我的Mac重新开始)。
我也用过virtualenv。我实际上并没有很好地理解virtualenv,并且再也没有时间研究它,但我已经掌握了它的工作原理,而且确实是一个好主意。
那么,在virtualenv中,我也使用了pip,我猜它也是一个命令行安装程序,但它似乎是Homebrew/virtualenv方法的一部分。对不起,我无法提供这方面的任何专业知识。
正如我所提到的,应用程序排序与MySQL一起工作,但是当我使用Homebrew卸载MySQL并安装MariaDB时,它开始运行得非常好。据我所知,Django,Sequel Pro,PyCharm的DB功能以及其他认为他们正在与MySQL交谈的程序无法说明MySQL与MariaDB之间的区别。我也非常喜欢MariaDB在线文档。无可否认,“MariaDB”不是一个好名字,但也不是“MySQL”。
底线:如果有人告诉你,这是不可能得到Python3.3和Django1.6用在Mac上的MySQL(或至少MariaDB的)运行时,不要相信他们。它可以完成,如果你的系统有很多旧文件和应用程序可能会与你正在做的事情发生冲突,那么很难做到这一点。
还有一件事:当我开始这个项目的工作时,我暂停了我的一项GAE应用程序,这个应用程序一年来我一直在取得很大的进步。由于我很快就会回到这个项目,所以我想让我的GAE安装在我的机器上,但遗憾的是,我不能再运行GAE安装程序进行更新。我得到一些关于无法找到python2.5的错误。叹。这就是当我重新开始研究该项目时,我必须期待解决的问题。
你使用的是virtualenv,你是否安装了MySQL-python?您可能也想试试这个:http://stackoverflow.com/a/5054267/1637351 – schillingt
使用MySQL连接器/ Python出现了什么特定的问题? Django 1.6中有一个问题正在得到修复和发布,但如果出现其他问题,请不要犹豫,以便报告。 – geertjanvdk