OSX 10.6上的Python _ctypes导入错误

时间:2010-03-07 02:09:16

标签: python macos

我是Python开发的新手,我在OSX中的一个应用程序遇到了问题。

此项目中使用的技术

  • python 2.6
  • django的
  • google app engine
  • rpx(openid)

在我的Windows应用上加载网站时,没有问题,但在OSX 10.6上尝试使用相同的应用时,我遇到以下问题:


/ error / rpx / login /

中的ImportError

没有名为_ctypes

的模块

以下是发生错误的地方:

/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/ init .py in

“”“在Python中创建和操作C数据类型”“” 将os导入为_os,sys为_sys 版本 =“1.1.0” 来自_ctypes import Union,Structure,Array


有什么想法吗?谢谢!

4 个答案:

答案 0 :(得分:6)

OS X 10.6的Python 2.6默认包含ctypes。您甚至可以在错误报告中看到它的一部分。因此,如果安装出现问题,那么只有 part 的ctypes存在问题。这表明它或者某种方式受到了损害,或者其他东西正在干扰ctypes内部的某些部分。

Google App Engine是此次干扰的主要候选人。 ctypes本身在Google App Engine上

看起来这可能是Python 2.6,OS X和Google App Engine之间的特定交互。如果您实际上将应用程序上传到GAE进行实际部署,则可能不会遇到同样的问题。

此问题已在GAE问题跟踪器中提出:http://code.google.com/p/googleappengine/issues/detail?id=985

最后的评论建议更改您的GAE首选项以使用Python 2.5(/usr/bin/python2.5)作为OS X开发机器上问题的可能解决方案。

答案 1 :(得分:3)

我没有足够的代表发表评论,所以我会将此作为帖子。 接受的答案是正确的,因为您需要做的就是将GAE首选项中的Python路径设置为/usr/bin/python2.5。

无需通过macports或官方python网站下载python 2.5。

python 2.5仍然安装在OSX 10.6中,它不是默认的python解释器。因此,您需要明确告知GAE使用版本2.5。

FWIW我正在使用GAE Launcher 1.4.1

答案 2 :(得分:2)

我在Mac OS X Snow Leopard 10.6.3上使用python 2.6.1。

按照以下步骤解决此问题:

1)下载并安装python 2.5.2:http://www.python.org/download/releases/2.5.2/

2)运行GoogleAppEngineLauncher.app

3)打开首选项 - >并将“Python Path:”更改为“/usr/local/bin/python2.5”


没有理由使用python 2.6.1,因为GAE使用2.5。

通过vitor ... @ gmail.com

答案 3 :(得分:0)

我唯一能想到的是,也许它不在你的道路上。似乎不太可能,但无论如何我会检查。