首页 > 解决方案 > Appkit 在 venv 中正常工作,但不能不使用虚拟 env

问题描述

我已经安装了 PyObjC 以便在我的虚拟环境中使用 AppKit 库我可以在 pytthon3 venv 中导入 Appkit

我尝试在 venv 外部使用 pip3 安装 pyobjc 并成功安装,但是当我尝试在 venv 外部导入 Appkit 时,它显示 AppKit 的导入错误

这是在venv外面

XXX_XXX_XXX:~梦想$ python3.

Python 3.7.6(v3.7.6:43364a7ae0,2019 年 12 月 18 日,14:18:50)

[Clang 6.0 (clang-600.0.57)] 关于达尔文

输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。

导入 AppKit

回溯(最近一次通话最后):

文件“”,第 1 行,在

ModuleNotFoundError:没有名为“AppKit”的模块

里面venv

XXX_XXX_XX:~ dreamguys$ source activeWindowEnv/bin/activate

(activeWindowEnv) XXX_XXX_XX:~dreams$ python

Python 3.7.6(v3.7.6:43364a7ae0,2019 年 12 月 18 日,14:18:50)

[Clang 6.0 (clang-600.0.57)] 关于达尔文

输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。

导入 AppKit

标签: iospython-3.xapplescriptappkit

解决方案


pip3 中有一个名为 appkit 的包,它与苹果中的 AppKit 无关。所以请在导入 AppKit 模块之前检查您需要安装的包。

AppKit 模块为您提供了苹果mac系统的目标C类,我们可以从中获取当前的活动窗口。

在我的 venv 中没有问题,因为我安装 pyObjC 只是为了获取 AppKit 导入。但是在主环境中我错误地安装了appkit库,这就是问题出现的地方

回到我的问题,我已经卸载了 appkit 和 pyobjc 并使用 pip3 重新安装了它们,现在我的导入工作正常。尝试重新安装 pyObjC。它会解决问题


推荐阅读