导入错误:没有名为 Foundation 的模块

新手上路,请多包涵

我正在尝试按照“使用 Xcode 3.2 进行 PyObjC 开发”的已接受答案的说明进行操作。我会在这里重新发布它们,因为我没有足够的代表来评论实际问题:


以下是我为让 PyObjC 在 Snow Leopard 中工作所做的工作:

  • 使用 Finder,我去了 Go > Connect to Server... 并以访客身份连接到 http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/

  • 然后我在本地系统上创建了一个名为 Xcode 的文件夹 ~Library/Application Support/Developer/Shared/Xcode/ 。 (您可能已经有了这个文件夹,但我还没有为自己定制任何东西)。

  • 我将 File Templates 文件夹从红豆服务器复制到我的新 Xcode 文件夹中。

  • Project Templates 文件夹复制到其他地方,例如桌面。

  • 使用终端,导航到我桌面上的临时项目模板文件夹并运行此命令以“构建”模板:

$ cd ~/桌面/项目\模板/

$ ./project-tool.py -k -v –template ~/Desktop/Project\ Templates/Cocoa-Python\ Application/CocoaApp.xcodeproj/TemplateInfo.plist Cocoa-Python\ Application ~/Library/Application\ Support/Developer /Shared/Xcode/Project\ Templates/Cocoa-Python\ Application


当我尝试运行以 ./project-tool.py 开头的行时,我在终端中收到以下错误:

 Traceback (most recent call last):
  File "./project-tool.py", line 22, in <module>
     from Foundation import NSDictionary
 ImportError: No module named Foundation

我正在运行 Snow Leopard 并安装了 Xcode 3.2.1 并且已经阅读过该模块应该已经安装并且可以正常工作。我读过,您可以通过在 Python 命令行中运行 >>> import objc 来测试 PyObjC 模块是否正常工作。当我运行它时,我得到:

 >>> import objc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named objc

谁能帮我消除这个错误?似乎我应该能够通过我的 Snow Leopard 安装自动执行所有这些操作,但我做不到。

原文由 Chris Redford 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 963
2 个回答

好吧,事实证明,修改 mjv 的答案,我能够通过输入来让它工作

export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyObjC/"

在执行 ./project-tool.py 行之前。我仍然觉得我必须这样做很荒谬,如果有人能明白为什么,我会很高兴知道。

这样做也得到了

>>> import objc

线工作。

原文由 Chris Redford 发布,翻译遵循 CC BY-SA 2.5 许可协议

我有同样的问题。我的原因是我认为是使用 自制软件 安装我自己的 Python 进行修补。

因为我担心混合 python 版本,而不是像上面描述的那样创建链接,所以我安装了一个新的 pyobjc 使用:

 $ pip install pyobjc

感兴趣的,来自( http://pythonhosted.org/pyobjc/

PyObjC 项目旨在提供 Python 和 Objective-C 编程语言之间的桥梁。

原文由 Walton 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题