在雪豹上安装mysqldb

Posted

技术标签:

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

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

谢谢

【问题讨论】:

究竟是什么不工作?模块是不是一开始就没有安装,还是 Django 拒绝连接到 MySQL 数据库服务器? 相关问题:***.com/questions/1904039/… 【参考方案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 适配器。

    确保您安装了最新的 Xcode 从 DMG 安装 64 位 MySQL - http://dev.mysql.com/downloads/mirror.php?id=401941#mirrors 从http://download.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz下载MySQL-python-1.2.3

    提取 site.cfg 并进行以下编辑:

    mysql_config = /usr/local/mysql/bin/mysql_config
    

    然后从你的终端运行

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

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

import MySQLdb

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

【讨论】:

【参考方案6】:

    Xcode 已安装。

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

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

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

    确保您的 ~/.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"
    

    下载mysqldb并运行:

    python setup.py build
    
    sudo python setup.py install
    

    安装 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'             
    

    我还使用 Navicat Lite 和 Sequel Pro 来处理 MySQL。

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

【讨论】:

'*' 应该是 DATABASE_USER = 'your_db_user_name' DATABASE_PASSWORD = 'your_db_password'【参考方案7】:
    安装最新的 64 位 DMG 版本的 MySQL。如果您已经安装了 MySQL,请记住备份您的数据库。

    在终端输入这一行:

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

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

换行

mysql_config.path = "mysql_config"

mysql_config.path = "/usr/local/mysql/bin/mysql_config"
    Myslq-Python 需要 64 位版本的 Python。新的 Python 2.7 64 位版本在 /usr/local/bin/python 中创建了一个别名。

    在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 系统设置。

【讨论】:

以上是关于在雪豹上安装mysqldb的主要内容,如果未能解决你的问题,请参考以下文章

在雪豹上安装 Qt 失败

在雪豹上安装 psyco for python

Windows下python安装MySQLdb

在 Linux 上安装 MySQLdb 失败

安装mysqldb python接口时找不到mysql_config

MAMP中Python安装MySQLdb