【问题标题】:How can I run Kivy on my Mac with M1 chip如何在带有 M1 芯片的 Mac 上运行 Kivy
【发布时间】:2021-11-16 12:58:35
【问题描述】:

MacOS:Monterey 12.0.1,目前 (16-11-21) 最新版本

IDE:Visual Studio 代码

我想使用 Kivy 为大学项目创建一些简单的桌面应用程序界面。我按照 kivy.org 上的说明进行操作:

  • pip 安装 venv 工具,
  • 创建和激活 venv,
  • 使用 brew 安装其他依赖项,
  • python3 -m pip install kivy[base] kivy_examples,
  • 运行默认的“Hello world!”文件:
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()

这是它给我的输出:

(kivy_venv) jdhamelink@Josefs-MacBook-Air UNO_X % /Users/jdhamelink/Local/UNO_X/kivy_venv/bin/python /Users/jdhamelink/Local/UNO_X/main.py
[INFO   ] [Logger      ] Record log in /Users/jdhamelink/.kivy/logs/kivy_21-11-16_6.txt
[INFO   ] [Kivy        ] v2.0.0
[INFO   ] [Kivy        ] Installed at "/Users/jdhamelink/Local/UNO_X/kivy_venv/lib/python3.8/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.8.9 (default, Aug  3 2021, 19:21:54) 
[Clang 13.0.0 (clang-1300.0.29.3)]
[INFO   ] [Python      ] Interpreter at "/Users/jdhamelink/Local/UNO_X/kivy_venv/bin/python"
[ERROR  ] [Clock       ] Unable to import kivy._clock. Have you perhaps forgotten to compile kivy? Kivy contains Cython code which needs to be compiled. A missing kivy._clock often indicates the Cython code has not been compiled. Please follow the installation instructions and make sure to compile Kivy
 Traceback (most recent call last):
   File "/Users/jdhamelink/Local/UNO_X/main.py", line 1, in <module>
     from kivy.app import App
   File "/Users/jdhamelink/Local/UNO_X/kivy_venv/lib/python3.8/site-packages/kivy/app.py", line 411, in <module>
     from kivy.base import runTouchApp, async_runTouchApp, stopTouchApp
   File "/Users/jdhamelink/Local/UNO_X/kivy_venv/lib/python3.8/site-packages/kivy/base.py", line 28, in <module>
     from kivy.clock import Clock
   File "/Users/jdhamelink/Local/UNO_X/kivy_venv/lib/python3.8/site-packages/kivy/clock.py", line 466, in <module>
     from kivy._clock import CyClockBase, ClockEvent, FreeClockEvent, \
 ImportError: dlopen(/Users/jdhamelink/Local/UNO_X/kivy_venv/lib/python3.8/site-packages/kivy/_clock.cpython-38-darwin.so, 0x0002): tried: '/Users/jdhamelink/Local/UNO_X/kivy_venv/lib/python3.8/site-packages/kivy/_clock.cpython-38-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/_clock.cpython-38-darwin.so' (no such file), '/usr/lib/_clock.cpython-38-darwin.so' (no such file)

我认为这可能与架构有关,因为最后一行的Importerror,特别是:

tried: '/Users/jdhamelink/Local/UNO_X/kivy_venv/lib/python3.8/site-packages/kivy/_clock.cpython-38-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/_clock.cpython-38-darwin.so' (no such file), '/usr/lib/_clock.cpython-38-darwin.so' (no such file)

在线我找不到这个问题的明确解决方案,但我怀疑它可能与“新” M1 芯片有关,它的架构可能会引起一些问题。很可能是我在安装过程中忘记了一些非常明显的步骤,因为我也得到了一个提示,我可能忘记了编译 Cython 代码,这是我以前从未听说过的。有人可以帮我吗?

--- 编辑 ---

我已经在虚拟环境中安装了 kivy,并使用 pip3 “全局”安装了

【问题讨论】:

    标签: python macos kivy cython apple-m1


    【解决方案1】:

    尝试在终端中使用此命令,它对我有用。

    pip3 install git+https://github.com/kivy/kivy.git
    

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 2021-04-30
      • 2022-09-25
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      相关资源
      最近更新 更多