【问题标题】:How do I install MySQL and the Python MySQL package on OS X Leopard? Or how do I learn about being a web developer using OS X?如何在 OS X Leopard 上安装 MySQL 和 Python MySQL 包?或者我如何了解如何成为一名使用 OS X 的 Web 开发人员?
【发布时间】:2014-04-12 19:17:13
【问题描述】:

我是 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 服务器(可以通过管理员访问。) 我从 port 得到的 MySQL 版本很垃圾,我根本无法运行它。

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

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

【问题讨论】:

  • 能否将您在尝试编译 MySQL-python 时遇到的错误包括在内?
  • 这个问题有点笼统了吧?

标签: python mysql django macos sysadmin


【解决方案1】:

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

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

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


  1. 下载MySQL-python source(撰写本文时为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,有说明here 将其作为服务启动。就个人而言,我只是跑

sudo mysqld_safe 

手动输入密码后,使用^Zbg 将其设置为后台。

【讨论】:

  • 我仍然得到编译错误:sh: mysql_config: command not found Traceback (last recent call last): File "setup.py", line 16, in metadata, options = get_config()文件“/Users/michael/src/MySQL-python-1.2.2/setup_posix.py”,第 43 行,在 get_config libs = mysql_config("libs_r")
  • 文件 "/Users/michael/src/MySQL-python-1.2.2/setup_posix.py", 第 24 行, 在 mysql_config 中引发 EnvironmentError, "%s not found" % mysql_config.path EnvironmentError:找不到 mysql_config
  • 好的,修复了上述语法错误。我需要更新我的 PATH 环境变量以包含 mysql_config 的路径。
  • 请注意,Leopard 上的默认 Python 是 32 位的,因此请使用 32 位 MySQL 安装程序 (x86) 而不是 64 位 (x86_64)。或者 MySQLdb 根本不会链接。另一种方法是让 64 位 python 在 OS X 上运行,但这完全是另一回事……
【解决方案2】:

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

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

其实很简单

# port install &lt;pkgname&gt;

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      Pythonmysqldb 包is in fink,但它在不稳定的树中。只需enable the unstable tree,即可安装。

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              猜你喜欢
              • 2010-10-15
              • 2011-06-25
              • 1970-01-01
              • 2010-10-30
              • 2012-02-05
              • 2014-09-19
              • 1970-01-01
              • 2010-11-28
              • 2013-04-17
              相关资源
              最近更新 更多