24

我正在尝试按照“使用 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\ 应用程序


当我尝试运行以 开头的行时,./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 并已阅读该模块应该已经安装并可以工作。我读过您可以通过>>> import objc在 Python 命令行中运行来测试 PyObjC 模块是否正常工作。当我运行它时,我得到:

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

谁能帮我消除这个错误?似乎我应该能够使用我的 Snow Leopard 安装自动完成所有这些操作,但我不能。

4

8 回答 8

29

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

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

$ pip install pyobjc

出于兴趣,来自(http://pythonhosted.org/pyobjc/

PyObjC 项目旨在在 Python 和 Objective-C 编程语言之间架起一座桥梁。

于 2013-08-04T13:35:44.623 回答
6

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

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

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

这样做也得到了

>>> import objc

线工作。

于 2009-10-23T23:03:55.347 回答
5

这是因为 PyObjC 在那里:/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC

编辑:我找到了如何使“import objc”工作,只是:export PYTHONPATH="/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/"

它将所有目录添加到python路径(sys.path)

于 2010-07-24T16:33:33.313 回答
4

对于蟒蛇 2.7

导出 PYTHONPATH="/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/"

于 2014-03-30T18:45:58.710 回答
3

两件事之一:

  • Fundation 模块不存在
  • 或者 Python 解释器不知道什么时候找到这个文件

Python 在 PythonPath 中查找模块

有关如何创建Python 路径等的更多详细信息,请参阅此SO 问题。

于 2009-10-23T16:50:19.813 回答
2

运行python -v以跟踪导入语句,这也适用于交互模式。

于 2009-10-23T17:00:28.860 回答
2

我可以通过运行在我的 OSX 上使用 Foundation 访问 Python 安装/usr/bin/python file-to-run.py

于 2017-08-27T12:44:10.250 回答
1
  1. 删除您的 python 或删除站点包/基础 | 站点包/基础

  2. pip3 安装 pyobjc

名称 Foundation 与 https://pypi.org/project/foundation/冲突

于 2020-06-10T14:42:19.227 回答