gpt4 book ai didi

python - 从 pypm 安装的 MySQLdb 不适用于 Mac OSX 上的 32 位 python

转载 作者:太空宇宙 更新时间:2023-11-03 19:30:59 26 4
gpt4 key购买 nike

在继续之前,以下是我的 Mac 以及已安装的 python (ActivePython) 和 wxpython 版本的一些详细信息:

Mac 版本:10.6.6Python版本: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

如您所见,我在 shebang 行中使用 32 位 python,因为我需要使用 wxpython仅在 32 位上运行。现在,唯一对 32 位 python 有问题的包是 MySQLdb已使用以下方式安装:

pypm install mysql-python

如果我刚刚删除了该行

import MySQLdb
从上面的代码来看,它运行完美并打印“Hello World”。

如果我从 shebang 行中删除了“arch -i386”,则 wxpython 包将无法工作。我想同时使用wxpython和MySQLdb。我该怎么做?

最佳答案

Duplicate ;-)

这是一个known bug -- mysql-python 包目前仅针对 64 位构建。

I want to use both wxpython and MySQLdb at the same time. How do I do it?

wxPython 2.8 不支持 64 位(由于使用 Carbon),这就是 PyPM 包仅针对 32 位构建的原因。您可以尝试使用wxPython 2.9。

解决方法:使用 pypm 删除 wxpython(pypm uninstall wxpython),然后安装开发 cocoa 二进制文件 wxPython2.9-osx-cocoa-py2.7 来自 wxpython.org .

关于python - 从 pypm 安装的 MySQLdb 不适用于 Mac OSX 上的 32 位 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5910810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com