【问题标题】:Install mysqldb on snow leopard在雪豹上安装mysqldb
【发布时间】:2010-11-30 18:03:42
【问题描述】:

我正在尝试开始在 Django 上使用 Python 我是一名专业的 PHP 开发人员,并被告知要在我当前的 apache 和 mysql 设置上设置 django 和 python,但是我无法获取用于 python 的 Mysqldb 模块要工作,我必须遵循大约 6 组不同的指令,我正在运行雪豹并且本地安装了 mysql,它不是 MAMP 或类似的一部分。请告诉我我需要从哪里开始以及我需要遵循哪些步骤,我将不胜感激。

谢谢

【问题讨论】:

标签: python mysql django osx-snow-leopard


【解决方案1】:

在 MAC OS X 10.6 上,照常安装软件包。动态导入错误是因为DYLD路径错误。导出路径并打开python终端。

$ sudo python setup.py clean

$ sudo python setup.py build

$ sudo python setup.py install

$ 导出 DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

$python

导入 MySQL 数据库

现在导入 MySQLdb 应该可以正常工作了。

您可能还想在构建和安装之前手动删除构建文件夹。 clean 命令不能正确地清理构建文件。

【讨论】:

  • 这甚至发生在 Python 错误指定了动态库文件的整个绝对路径时,这很疯狂(它清楚地知道该文件应该在哪里找到)。感谢您发布此内容。
  • PS:如果您在 Eclipse 中使用 pydev,您还需要 Python Interpreter 的环境。或者至少在将它添加到我的 .bashrc 之后我必须这样做
【解决方案2】:

我建议安装 macports(最新的 svn 主干)并从那里安装 mysql。

sudo 端口安装 mysql5-server

下载 MySQL-python-1.2.2 源码

确保 /opt/local/lib/mysql5/bin 在您的路径中或编辑 site.cfg 以包含:

mysql_config = /opt/local/lib/mysql5/bin/mysql_config

注释掉_mysql.c的第38行

// #define uint unsigned int

然后运行:

sudo python setup.py install

应该都很好。

【讨论】:

  • 要将其添加到您的路径中,请编辑~/.profile,将export PATH=$PATH:/opt/local/lib/mysql5/bin 添加到末尾,然后运行source ~/.profile。验证:echo $PATH
【解决方案3】:

[部分回答]

拔牙会更有趣。 MySQL/Django/Mac 是一场灾难。这是我得到的最远的:

获取MySQLDB 1.2.3 进入并修改 setup_posix.py:

变化:

mysql_config.path = "mysql_config"

收件人(取决于您的 MySQL 的版本号):

mysql_config.path = "/usr/local/mysql-5.1.34-osx10.5-x86_64/bin/mysql_config"

python setup.py 构建 python setup.py 安装

这是一个很好的article

【讨论】:

    【解决方案4】:

    首先,确保安装了XCode。如果没有 XCode,许多对开发人员很重要的内置 Apache2 服务器就会丢失;最值得注意的是GNU Compiler Collection,我认为这是 MySQL 绑定所必需的。

    【讨论】:

    • Xcode 是安装雪豹光盘上的最新版本我还像其他人建议的那样安装了 10.4 SDK。还有小费吗?
    【解决方案5】:

    这里的关键之一是确保您同时运行 64 位的 MySQL 和 Python 适配器。 Snow Leopard 上默认安装的 Python 2.6.1 是 64 位的,因此您必须安装 64 位的 MySQL 并构建 64 位的 MySQLdb 适配器。

    1. 确保您安装了最新的 Xcode
    2. 从 DMG 安装 64 位 MySQL - http://dev.mysql.com/downloads/mirror.php?id=401941#mirrors
    3. http://download.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz下载MySQL-python-1.2.3
    4. 提取 site.cfg 并进行以下编辑:

      mysql_config = /usr/local/mysql/bin/mysql_config
      
    5. 然后从你的终端运行

      ARCHFLAGS="-arch x86_64" python setup.py build
      sudo python setup.py install
      

    然后你应该打开一个 Python shell 并输入:

    import MySQLdb
    

    如果你没有得到任何错误,你就是金子。

    【讨论】:

      【解决方案6】:
      1. Xcode 已安装。

      2. 按照这些说明设置 apache/php/mysql:

        http://maestric.com/doc/mac/apache_php_mysql_snow_leopard

      3. 我安装了免费的 32 位版本的 EPD(这是可选的,但我想要 numpy/scipy)。

      4. 确保您的 ~/.profile 中有这些行(第二行仅在您安装了 EPD 的情况下):

        export PATH=/usr/local/mysql/bin/:/usr/local/bin:/usr/local/sbin:$PATH
        export PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
        
      5. 下载mysqldb并运行:

        python setup.py build
        
        sudo python setup.py install
        
      6. 安装 Django 或 web2py 的官方版本。之后一切正常。您可以尝试“编写您的第一个 Django 应用程序,第 1 部分”来测试它在 settings.py 中的使用位置:

        DATABASE_ENGINE = 'mysql'           
        DATABASE_NAME = 'Django Polls'             
        DATABASE_USER = '*****'             
        DATABASE_PASSWORD = '*****'         
        DATABASE_HOST = '127.0.0.1'             
        DATABASE_PORT = '3306'             
        
      7. 我还使用 Navicat Lite 和 Sequel Pro 来处理 MySQL。

      8. Pydev 是一个非常适合与 Django 一起使用的 IDE。

      【讨论】:

      • '*' 应该是 DATABASE_USER = 'your_db_user_name' DATABASE_PASSWORD = 'your_db_password'
      【解决方案7】:
      1. 安装最新的 64 位 DMG 版本的 MySQL。如果您已经安装了 MySQL,请记住备份您的数据库。
      2. 在终端输入这一行:

        sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

      3. 编辑mysql-python安装目录下的setup_posix文件。

      换行

      mysql_config.path = "mysql_config"
      

      mysql_config.path = "/usr/local/mysql/bin/mysql_config"
      
      1. Myslq-Python 需要 64 位版本的 Python。新的 Python 2.7 64 位版本在 /usr/local/bin/python 中创建了一个别名。
      2. 在mysql-python文件夹中输入以下行

        sudo /usr/local/bin/python setup.py clean

        sudo ARCHFLAGS="-arch x86_64"

        sudo /usr/local/bin/python setup.py build

        sudo /usr/local/bin/python setup.py install

      最后试一试:

      python
      import MySQLdb
      

      【讨论】:

        【解决方案8】:

        您可以通过安装 Mariadb 来让您的生活更轻松(尤其是在 Lion 上):

        http://mariadb.org/

        它是 MySQL 的直接替代品,在 OSX 上即插即用。唯一没有得到的是 MySQL 系统设置。

        【讨论】:

          猜你喜欢
          • 2011-03-18
          • 1970-01-01
          • 2010-12-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多