【问题标题】:`ImportError: No module named AppKit` after installing AppKit and PyObjC`ImportError: No module named AppKit` 安装 AppKit 和 PyObjC 后
【发布时间】:2018-12-17 03:49:26
【问题描述】:

我正在尝试使用 Python 2.7 在 Mac OS X Mojave 上的 Anaconda 上全新安装一些 Python 代码。这些都是以前在同一台机器上工作的东西。

我得到的错误是:

Mac:~ kuzzooroo$ python
Python 2.7.15 |Anaconda, Inc.| (default, Dec 14 2018, 13:10:39)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import AppKit
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named AppKit

小写也不行:

>>> import appkit
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/kuzzooroo/anaconda2/lib/python2.7/site-packages/appkit/__init__.py", line 11, in <module>
    from AppKit import _metadata
ImportError: No module named AppKit

我做了很多搜索,关于如何处理这个错误的建议大多是“确保你已经安装了 X”。这是我得到的:

Mac:~ kuzzooroo$ brew install PyGObject PyGObject3
Warning: pygobject 2.28.7_1 is already installed and up-to-date
To reinstall 2.28.7_1, run `brew reinstall pygobject`
Warning: pygobject3 3.30.4 is already installed and up-to-date
To reinstall 3.30.4, run `brew reinstall pygobject3`
Mac:~ kuzzooroo$ pip install AppKit PyObjC PyObjC-core
Requirement already satisfied: AppKit in ./anaconda2/lib/python2.7/site-packages (0.2.8)
Requirement already satisfied: PyObjC in ./anaconda2/lib/python2.7/site-packages (5.1.2)
Requirement already satisfied: PyObjC-core in ./anaconda2/lib/python2.7/site-packages (5.1.2)
Requirement already satisfied: ... <many more lines>

brew install 步骤改变了错误,但正如您所见,它们并没有给我留下有效的设置。

【问题讨论】:

  • 你确定python和pip是同一个版本吗?看来您使用的是 python 2.7,因此您使用的 pip 版本也必须适用于 python 2.7。您可以通过运行命令“pip --version” 进行检查
  • 感谢@slightly_toasted 的建议。 pip 看起来不错:pip 18.1 from /Users/kuzzooroo/anaconda2/lib/python2.7/site-packages/pip (python 2.7)

标签: python macos appkit


【解决方案1】:

原来有人编写了一个名为 AppKit 的包,它是完全不同的 Mac 操作系统组件。这是另一个 AppKit:

$ pip search appkit
AppKit (0.2.8)  - Desktop application framework based on Webkit HTML5, CSS3, Javascript and Python

在 PyObjC 之外安装它会产生冲突,导致无用的错误消息 No module named AppKit(事实上,这个名称不是一件事而是两件事)。

运行conda uninstall AppKit 然后pip install --upgrade --force-reinstall PyObjC PyObjC-core 解决了这个问题。

【讨论】:

  • 经过 60 分钟毫无意义的搜索后,这条评论挽救了我的一天,避免了进一步的破坏。
  • 太棒了,拯救了我的一天!
猜你喜欢
  • 2018-09-29
  • 2014-10-11
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
  • 2017-05-30
  • 2012-04-21
  • 2016-04-27
  • 1970-01-01
相关资源
最近更新 更多