6

我是 Mac OS X 的新手,我正准备把我全新的MacBook Pro扔出窗外。每个关于在Mac OS X Leopard上设置 Django 开发环境的教程都是非常错误的。他们都跳过了一步,或者假设您已经以一种方式设置了某些东西,或者只是假设我知道一件事我一定不知道。

我非常熟悉如何在 Ubuntu/Linux 上设置环境,而我在OS X上遇到的唯一问题是如何安装 MySQL、自动启动和安装 Python MySQL 绑定。我认为我的错误是使用了我不完全理解的大杂烩。我使用 fink 安装 MySQL 及其开发库,然后尝试从源代码构建 Python-MySQL 绑定(但它们不会构建。)

更新:我从http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg安装了二进制 MySQL 包,并且我运行了 MySQL 服务器(可以使用管理员访问。)我从中获得的 MySQL 版本端口很垃圾,我根本无法让它运行。

我根据我选择的答案修改了 Python-MySQL 包的源代码,但我仍然遇到了我在评论中列出的编译错误。我可以通过将 /usr/local/mysql/bin/ 添加到我的“~/.profile”文件中的路径来解决这些问题。“ PATH=/usr/local/mysql/bin:$PATH”

感谢您的帮助,我对编辑源代码非常谨慎,因为这个操作在 Ubuntu 上非常简单,但我将来会更愿意尝试。我真的很想念 Ubuntu 的“apt-get”命令;有时它使生活变得非常轻松和简单。我已经在我的 Mac 上运行了一个 Ubuntu VMware映像,所以我总是可以将其用作后备(加上它更接近我的生产机器,因此应该是调试生产问题的良好测试环境。)

4

7 回答 7

12

MySQL 和 MySQL-dev 安装是否顺利?你能运行 MySQL,连接它等等吗?是否/usr/local/mysql/include包含大量头文件?(我那里有 46 个头文件,供参考)。

如果是这样,MySQL 应该是不错的选择。然而,编译 MySQL-python 仍然需要一些手动步骤。

是一个不错的指南:我已经包含了以下重要步骤。


  1. 下载MySQL-python 源代码(撰写本文时为 v1.2.2:所有后续说明均针对此版本)

    $ tar xzf MySQL-python-1.2.2.tar.gz && cd MySQL-python-1.2.2
    
  2. 编辑_mysql.c:删除第 37-39 行并更改第 481-482 行。这是差异:

    37,39d36
    < #ifndef uint
    < #define uint unsigned int
    < #endif
    484,485c481,482
    <         uint port = MYSQL_PORT;
    <         uint client_flag = 0;
    ---
    >         unsigned int port = MYSQL_PORT;
    >         unsigned int client_flag = 0;
    
  3. 将库符号链接到 MySQL-python 期望它们的位置:

    $ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
    
  4. 在你的 MySQL-python-1.2.2 目录中,重建你的包:

    $ sudo python setup.py build
    

    注意:您将收到警告,请忽略它。

  5. 安装包:

    $ sudo python setup.py install
    

至于启动 MySQL,这里有关于将其作为服务启动的说明。就个人而言,我只是跑

sudo mysqld_safe 

手动,^Zbg我输入密码后将其作为后台。

于 2008-12-27T23:09:42.117 回答
2

您可以使用 BSD-alike(?) http://macports.org,它提供了您希望在 Linux 发行版中找到的大量软件的类似 gentoo 的 build-it-yourself 安装。

或者,您可以在虚拟机中运行 Ubuntu 作为测试阶段。

老实说,这很简单

# port install <pkgname>

于 2008-12-27T22:53:35.333 回答
2

假设这只是一个开发环境,您可以尝试使用SQLite 3 作为您的数据库。里程可能会有所不同,具体取决于您需要为特定应用程序使用数据库的低级别。

于 2008-12-27T23:15:34.727 回答
0

Python mysqldb包在 fink 中,但它在不稳定的树中。只需启用不稳定的树,您就可以安装它。

或者,如果您希望拥有两个备用包管理器,它也在MacPorts中。

上次我不得不这样做时也遇到了问题,最终选择了 fink 版本并省去了很多麻烦。

于 2008-12-27T22:54:23.490 回答
0

我在一篇可能有帮助的博文中放了一个分步指南:Installing Django with MySQL on Mac OS X。

于 2008-12-28T01:30:00.243 回答
0

如果您是 Mac 用户,请安装MacPorts。几乎所有 Linux/Unix 应用程序都可以通过“端口”获得。它简单且易于管理。

于 2008-12-28T01:48:04.293 回答
0

安装MacPorts。运行port install mysql。它对我有用!

于 2008-12-28T21:54:09.990 回答