MySQLdb的不符合32位的蟒蛇在Mac OSX工作
在进一步讨论之前,这里有我的Mac的一些细节和Python安装(ActivePython的)和wxPython的版本:MySQLdb的不符合32位的蟒蛇在Mac OSX工作
Mac版: 10.6.6 Python版本:2.7.1(ActiveState的Python)的 wxPython的版本:wxPython2.8-OSX-Unicode的py2.7
这里是一个小的代码,我写测试:
#! /usr/bin/env arch -i386 /usr/local/bin/python
import time
import random
import re
import wx
from wx.lib.mixins.listctrl import ListCtrlAutoWidthMixin
import serial
import itertools
import datetime
import sys
import os
import MySQLdb
print "Hello World"
这里是我从运行它得到了错误:
Traceback (most recent call last):
File "./sar.pyw", line 13, in <module>
import MySQLdb
File "/Users/ven/Library/Python/2.7/lib/python/site-packages/MySQLdb/__init__.py", line 19, in <module>
import _mysql
ImportError: dlopen(/Users/ven/Library/Python/2.7/lib/python/site-packages/_mysql.so, 2): Symbol not found: _mysql_affected_rows
Referenced from: /Users/ven/Library/Python/2.7/lib/python/site-packages/_mysql.so
Expected in: flat namespace
in /Users/ven/Library/Python/2.7/lib/python/site-packages/_mysql.so
正如你可以看到我使用的家当行32位的蟒蛇,因为我只需要在32位与wxpython工作它运行。现在,具有与32位蟒问题的唯一包是已经使用安装在MySQLdb:
pypm install mysql-python
如果我只是删除从上述片的代码行
import MySQLdb,它运行完美并输出“你好,世界”。
如果我从shebang行中删除了“arch -i386”,则wxpython包不起作用。我想同时使用wxpython和MySQLdb。我该怎么做?
Duplicate ;-)
这是一个known bug - 在mysql-python
包只为此刻的64位建立。
我想同时使用wxpython和MySQLdb。我该怎么做?
wxPython 2.8不支持64位(由于使用Carbon),这就是为什么PyPM软件包仅为32位构建的原因。你可以尝试使用wxPython 2.9。
解决方法:使用pypm(pypm uninstall wxpython
)除去wxPython中,然后从wxpython.org安装开发可可二进制wxPython2.9-osx-cocoa-py2.7
。
谢谢Sridhar。有效。 – user699540 2011-05-16 01:23:01
根据www.wxpython.org 64位版本的wxpython可用于Mac。 – 2011-05-06 15:11:35