PyObjC + Xcode 3.2 + 非 Apple Python

2024-01-18

我想开始尝试使用 PyObjC 开发一些简单的应用程序。我安装了 PyObjC 和 Xcode 模板。我知道 PyObjC 本身可以工作,因为我已经运行了这个脚本 http://svn.picidae.net/trunk/pici-server/ADMIN/picidae.py成功地。当我尝试从 Cocoa-Python 应用程序模板创建项目并运行它时,出现以下错误:


Traceback (most recent call last):
  File "main.py", line 10, in 
    import objc
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PyObjC/objc/__init__.py", line 25, in 
    from _convenience import *
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PyObjC/objc/_convenience.py", line 21, in 
    from itertools import imap
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/itertools.so, 2): no suitable image found.  Did find:
    /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/itertools.so: mach-o, but wrong architecture
2010-02-08 19:40:09.280 TestApplication[3229:a0f] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '/Users/icktoofay/Desktop/TestApplication/main.m:44 main() PyRun_SimpleFile failed with file '/Users/icktoofay/Desktop/TestApplication/build/Debug/TestApplication.app/Contents/Resources/main.py'.  See console for errors.'  

当我尝试打开普通的 Python 提示符并导入时itertools,没有错误。我在 Mac OS X 10.6 Snow Leopard 上使用来自 MacPorts 的 Python 2.6.4。

我将不胜感激任何帮助。


您遇到了 32 位与 64 位问题。看来您正在使用从 MacPorts 安装的 Python 2.6,并且显然它不是通用(32 位/64 位)版本。您的应用程序以 64 位运行,而 Python 仅以 32 位运行,或者反之亦然。您可以使用以下方式检查file:

cd /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
cd lib/python2.6/lib-dynload/
file itertools.so 
itertools.so: Mach-O universal binary with 2 architectures
itertools.so (for architecture x86_64): Mach-O 64-bit bundle x86_64
itertools.so (for architecture i386):   Mach-O bundle i386

最简单的修复可能是重新安装 MacPorts Python 和您安装的其他软件包,例如 PyObjC:

sudo port selfupdate
sudo port -u install python26 +universal ...

编辑:由于您报告 Python 是 64 位,因此问题几乎肯定是由于 Python PyObjC 项目的 Xcode 模板设置问题造成的。启动代码可能正在加载Apple提供的通用Python解释器。您可以通过在之前添加类似的内容来检查import objc:

import sys
sys.stderr.write(sys.executable)

对于MacPorts,应该是

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python

我不太熟悉在 Xcode 下使用模板的细节,不知道可能需要更改哪些内容,而且我怀疑很多人在 MacPorts Python 上使用它们,尤其是在 10.6 下。

另一个想法是,Apple 提供的 Python 2.6.1 附带了已安装的 PyObjC 版本。也许使用它会更简单。或者不使用 Xcode 并使用py2app或其他解决方案来运行它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyObjC + Xcode 3.2 + 非 Apple Python 的相关文章

  • ipdb 和 pdb++ 之间的区别?

    Python 有一个名为 pdb 的默认调试器 但社区创建了一些替代品 其中两个是ipdb https github com gotcha ipdb and pdb https github com pdbpp pdbpp 它们似乎迎合了相
  • 在 Python 3 中动态导入模块的问题

    我遇到的情况是 在我的 Python 3 项目中 在运行时必须包含某些模块 我在用着importlib import module为了这 第二次更新 我确实找到了一种方法来做一些接近我想要的事情 一些额外的代码可能会使我的一些链接稍微偏离一
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • 使用字母而不是数字进行顺序计数[重复]

    这个问题在这里已经有答案了 我需要一种方法 将字符串 递增 到 z 然后将 aa 递增到 az 然后将 ba 递增到 bz 依此类推 就像 Excel 工作表中的列一样 我将向该方法提供前一个字符串 它应该增加到下一个字母 PSEUDO C
  • 在 keras 中使用自定义张量流操作

    我在张量流中有一个脚本 其中包含自定义张量流操作 我想将代码移植到 keras 但我不确定如何在 keras 代码中调用自定义操作 我想在 keras 中使用tensorflow 所以到目前为止我发现的教程描述了与我想要的相反的内容 htt
  • 理解@property装饰器和继承[重复]

    这个问题在这里已经有答案了 这里是 Python 3 以防万一它很重要 我试图正确理解如何实现继承 property使用 我已经搜索了 StackOverflow 并阅读了大约 20 个类似的问题 但无济于事 因为他们试图解决的问题略有不同
  • 在函数调用之间保存数据的Pythonic方式是什么?

    对我来说 上下文是我需要在调用修改该值的函数之间保留的单个 int 的信息 我可以使用全局 但我知道这是不鼓励的 现在 我使用了包含 int 的列表形式的默认参数 并利用了可变性 以便在调用之间保留对值的更改 如下所示 def increm
  • 在ansible中合并字典

    我目前正在构建一个使用 ansible 安装 PHP 的角色 并且在合并字典时遇到一些困难 我尝试了多种方法来做到这一点 但我无法让它像我想要的那样工作 A vars file my default values key value my
  • Xcode 6 代码编辑器异常行为

    截至最近 我在使用 Xcode 6 代码编辑器时遇到了一些麻烦 最终导致编辑窗口中的焦点快速变化 在编辑文本时跳转到同一文件中完全不同的位置 一切就是这样开始的 最近 编辑器拒绝上下滚动 挂起 停止显示行号或任何其他文本 我该怎么做才能让它
  • 如何从数据框的单元格中获取值?

    我构建了一个条件 从我的数据框中提取一行 d2 df df l ext l ext df item item df wn wn df wd 1 现在我想从特定列中获取一个值 val d2 col name 但结果 我得到一个包含一行和一列
  • iOS:如何在 UITabBarItem 中添加下划线

    我正在使用一个应用程序 我需要在其中添加下划线UITabbarItem 所以我想在所选下添加下划线UITabbarItem在默认情况下UITabbarcontroller of iOS 我已经创建了子类UITabbarcontroller但
  • Flask SQLAlchemy 与 MyPy - 模型类型错误

    我遇到了以下组合问题flask sqlalchemy and mypy 当我定义一个新的 ORM 对象时 例如 class Foo db Model pass where db是使用创建的数据库SQL炼金术应用于flask app mypy
  • python中打印字符串的长度

    有没有什么方法可以找到 即使是最好的猜测 Python中字符串的 打印 长度 例如 potaa bto 是 8 个字符len但 tty 上只打印 6 个字符宽 预期用途 s potato x1b 01 32mpotato x1b 0 0mp
  • 使用 Flask-SQLAlchemy 进行多对多多数据库连接

    我正在尝试使这个多对多联接与 Flask SQLAlchemy 和两个 MySQL 数据库一起工作 并且它非常接近 只是它为联接表使用了错误的数据库 这是基础知识 我有main db and vendor db 表格设置为main db u
  • psutil:测量特定进程的CPU使用率

    我正在尝试测量进程树的 cpu 使用率 目前获取进程 没有子进程 的 cpu usage 就可以了 但我得到了奇怪的结果 import psutil p psutil Process PID p cpu percent 还给我float g
  • iOS:启动图像多语言

    我有一个多语言应用程序 我的问题是启动图像 根据设备的语言使用启动图像的方法是什么 有什么东西在info plist file 解决方案是像项目中的任何其他资源一样本地化 Default png 从 Xcode 的项目列表中选择 Defau
  • 如何动态创建 Luigi 任务

    我正在为 Luigi Tasks 构建一个包装器 但遇到了一个障碍Register http luigi readthedocs io en stable modules luigi task register html Register该
  • 在读/写二进制数据结构时访问位域

    我正在为二进制格式编写一个解析器 这种二进制格式涉及不同的表 这些表同样采用二进制格式 通常包含不同的字段大小 其中 50 100 个之间 大多数这些结构都有位域 并且在 C 语言中表示时看起来像这样 struct myHeader uns
  • Selenium Python 使用代理运行浏览器[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个非常简单的脚本 该脚本从 txt 文件获取代理 不需要身份验证 并用它打开浏览器 然后沿着代理列表循环此操作一定次数 我确实知道如何打开 txt 文件并使用它 我的主要问题是让代理正常工作 我见
  • Shap - 颜色条不显示在摘要图中

    显示summary plot时 不显示颜色条 shap summary plot shap values X train 我尝试过改变plot size 当绘图较高时 会出现颜色条 但它非常小 看起来不应该 shap summary plo

随机推荐

  • C# 无法加载 DLL

    如何在c 项目中加载dll error 无法加载 DLL Reader dll 无法加载指定的模块 成立 HRESULT 异常 0x8007007E 代码示例 DllImport Reader dll public static exter
  • Vim:删除光标周围的空行

    假设我正在编辑以下文档 光标 Lions Tigers Kittens Puppies Humans 我可以使用什么顺序删除周围的空白 以便留下 Lions Tigers Kittens Puppies Humans 注意 我正在寻找一个可
  • 用于发送电子邮件的正确 HTTP 动词

    对于仅让服务器发送电子邮件而不改变整个 Web 应用程序状态的请求 正确的 http 动词是什么 我正在开发一个 Rails 项目 我需要以某种方式定义路线 Rails application routes draw do get self
  • PyQt5 制作子类小部件

    所以我想知道如何制作小部件的子类 例如 如果我想创建一个小部件 它继承了 QtWidgets QPushButton 的方法和属性 但是我会在此基础上创建额外的方法和属性 class Coord QtWidgets QPushButton
  • java模块可以调用c模块吗?

    只是出于兴趣 是否可以从 java 模块调用 C 模块 如果是这样 该怎么办 是的 你可以使用Java 本机接口 http java sun com j2se 1 3 docs guide jni 去做这个
  • PL/SQL:是否有完全停止脚本执行的指令?

    我试图在 PL SQL 脚本的开头对数据库模式进行一些检查 如果检查给出不成功的结果 我想停止脚本 以防止执行下一条指令 我有这样的东西 1st line of PL SQL script DECLARE SOME COUNT INTEGE
  • 为什么算术运算符的参数类型默认为 int?

    我是 F 新手 我惊讶地发现f x y x y实际上是int gt int gt int 显然 https stackoverflow com questions 501069 functions with generic paramete
  • Delphi:“TObject 数组”类型参数上的 SetLength()

    我正在尝试调整作为参数传递的某个类的数组的大小 例如 procedure Resize MyArray Array of TObject begin SetLength MyArray 100 end 但是 这会引发错误 E2008 不兼容
  • 如何阻止异步 tcp .NET 代码耗尽整个系统的资源

    在我的一些异步 TCP 服务器代码中 偶尔会发生错误 导致进程消耗整个系统的内存 在查看日志 事件查看器和一些MS docs http support microsoft com kb 947862如果 调用应用程序多次对同一客户端进行异步
  • 设置 TCP/IP 客户端和服务器通过网络进行通信

    我正在尝试学习一些有关套接字编程的知识 并且偶然发现了 TcpListener 和 TcpClient 来使用 因为我读到它们对于初学者来说稍微容易一些 我想要完成的基本要点是拥有一个可以在我的笔记本电脑和同一网络上的另一台笔记本电脑上运行
  • 对 pandas 数据框进行子集化的最佳方法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 嘿 我是 Pandas 新手 我刚刚遇到df query 为什么人们会使用df query 什么时候可以使用括号表示法直接过滤数据框 panda
  • 如何在 JavaScript 中添加 HTML 标签?

    我想在我的 javascript 中使用一个 html 标签 但不知道如何使用它 For ex p An absolute URL a href https www w3schools com W3Schools a p 这是我的标签 我想
  • 如何使用 C++ 发出 HTTP 请求?

    有没有办法用C 轻松发出HTTP请求 具体来说 我想下载一个页面 API 的内容并检查内容是否包含1或0 是否也可以将内容下载到字符串中 我有同样的问题 libcurl http curl haxx se libcurl 真的很完整 有一个
  • DetectionAPI 仅支持单声道 Wav

    我正在开发一个拍手检测 Android 应用程序 我在用musicg https github com madyx musicgapi 用于此 我从github导入了该项目并在android设备上运行 然后这个错误显示 DetectionA
  • Memcache 错误:无法从流 (0) 数组读取行

    当我们的服务器承受任何重大负载时 我会收到以下错误的一些变化 我已经在谷歌上搜索了几个小时并尝试了一切 包括升级到最新版本和全新安装 我已经阅读了 SA 上所有关于它的帖子 但无法弄清楚 很多人都有同样的问题 但似乎没有人有明确的答案 任何
  • Ga特林 j.n.ConnectException:地址已在使用中

    当使用 Ga特林运行模拟时 我遇到以下异常 j n ConnectException 地址已在使用中 没有更多信息 当测试的服务器无法响应或超时时是否会发生这种情况 我想确保这是服务器抛出的异常 而不是客户端抛出的异常 我在 Windows
  • AWS 负载均衡器连接到同一服务器上的多个端口,无需 PAT

    我有一个 EC2 Web 服务器 它提供一个侦听端口 80 8080 443 和 8443 的应用程序 外部客户端需要在这些端口上与其通信 无端口转换 我试图将其放在负载平衡器后面 但过多的所需端口让我感到困惑 我有一个 ALB 监听 4
  • 当 NFS 挂载失败时,bash 检查目录是否存在挂起

    我有一个 bash profile 脚本 它根据目录存在为我设置一些别名 if d home user games then alias cdgames cd home user games fi 这些目录之一位于 NFS 挂载上 如果文件
  • 如何在 JSON Schema 中制作二维数组?

    下面的二维数组怎么写JSON 架构 http json schema org 网格固定为16 13 它包含完全空的行或具有 int 0 99 或空字符串等值的行 这是数组的示例 94 78 37 78 61 71 42 82 53 62 6
  • PyObjC + Xcode 3.2 + 非 Apple Python

    我想开始尝试使用 PyObjC 开发一些简单的应用程序 我安装了 PyObjC 和 Xcode 模板 我知道 PyObjC 本身可以工作 因为我已经运行了这个脚本 http svn picidae net trunk pici server