繁体   English   中英

如何在带有 M1 芯片的 Mac 上运行 Kivy

[英]How can I run Kivy on my Mac with M1 chip

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 “全局”

pip3 安装 git+https://github.com/kivy/kivy.git

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM