代码之家  ›  专栏  ›  技术社区  ›  kuzzooroo

` importError:安装appkit和pyobjc后没有名为appkit`的模块

  •  0
  • kuzzooroo  · 技术社区  · 6 年前

    我正在尝试让一些python代码在mac os x mojave上用python 2.7在anaconda上重新安装。这是以前在同一台机器上工作的所有东西。

    我得到的错误是:

    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 步骤改变了错误,从不同的地方,但正如你所看到的,它们没有留给我一个工作设置。

    1 回复  |  直到 6 年前
        1
  •  0
  •   kuzzooroo    6 年前

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

    $ 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 解决了问题。