在Snow Leopard上安装mysqldb

7
我正在尝试开始使用Python在Django上进行开发,我是一名专业的PHP开发人员,并被告知在当前的Apache和MySQL设置中安装Django和Python,但我在让Mysqldb模块正常工作方面遇到了困难。我大约按照6种不同的指南操作了,我正在运行snow leopard,并且已经本地安装了MySQL,它并不是MAMP或类似软件的一部分。请问有人能告诉我从哪里开始以及需要遵循哪些步骤吗?非常感谢。
谢谢

具体是什么出了问题?模块一开始就没有安装好,还是Django拒绝连接MySQL数据库服务器? - artagnon
相关问题:https://dev59.com/ZErSa4cB1Zd3GeqPZdP6 - cregox
8个回答

7
在MAC OS X 10.6上,按照通常的方式安装软件包。由于DYLD路径错误,导致动态导入错误。请导出路径并打开Python终端。

$ sudo python setup.py clean

$ sudo python setup.py build

$ sudo python setup.py install

$ export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

$python

import MySQLdb

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

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


1
即使Python错误指定了动态库文件的完整绝对路径,这种情况仍然会发生,这太疯狂了(它显然知道应该在哪里找到文件)。感谢您发布这篇文章。 - David
PS:如果您在Eclipse中使用pydev,您还需要设置Python解释器的环境。即使将其添加到.bashrc文件中后,我仍然需要进行设置。 - brent.payne

4
我建议安装最新的macports(svn trunk版本),并从其中安装mysql。
sudo port install 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

应该一切正常。


1
要将其添加到您的路径中,请编辑〜/ .profile,在末尾添加export PATH = $ PATH:/ opt / local / lib / mysql5 / bin,然后运行source 〜/ .profile。验证:echo $ PATH - cregox

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 build python setup.py install

这里有一篇很好的文章


2
首先,请确保已安装XCode。没有XCode,许多对开发人员重要的内置Apache2服务器组件将缺失;尤其是GNU编译器集合,我认为这是MySQL绑定所必需的。请注意保留HTML标签,不做解释。

Xcode已安装最新版本,该版本随Snow Leopard光盘一起提供。我还像其他人建议的那样安装了10.4 SDK。还有其他提示吗? - Udders

0
  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 = '你的数据库用户名' DATABASE_PASSWORD = '你的数据库密码' - David Dreisigmeyer

0
  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需要Python的64位版本。新的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

0

这里的关键之一是确保你同时运行MySQL和Python适配器为64位。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

如果你没有收到任何错误信息,那就万事大吉。


0

如果你安装Mariadb,你的生活会变得更加轻松(特别是在Lion上):

http://mariadb.org/

它是MySQL的即插即用替代品,在OSX上可以直接使用。唯一的缺点是你无法获得MySQL系统设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接