不知怎么搞砸了我的pip或kivy文件。我都安装不了。我试过pip install kivy
和git clone https://github.com/kivymd/KivyMD.git --depth 1
我用的是macos Monterey 12.6.1python 3.11 '
开头:
$ python3 -m venv venv
$ . venv/bin/activate
$ pip install kivy
它被挂在了kivy pyproject.toml.的建筑轮上。
Requirement already satisfied: certifi>=2017.4.17 in ./myvenv/lib/python3.11/site-packages (from requests->Kivy-Garden>=0.1.4->kivy) (2022.9.24)
Building wheels for collected packages: kivy
Building wheel for kivy (pyproject.toml) ... -
那么错误代码的结尾看起来像:
kivy/core/image/img_imageio.c:438:62: note: expanded from macro '__Pyx_PyFrame_SetLineNumber'
#define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
~~~~~~~^
/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11/pytypedefs.h:22:16: note: forward declaration of 'struct _frame'
typedef struct _frame PyFrameObject;
^
2 warnings and 1 error generated.
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for kivy
Failed to build kivy
ERROR: Could not build wheels for kivy, which is required to install pyproject.toml-based projects
(
我完全迷路了。我尝试过卸载和重新安装软件包,我已经完成了pip install wheel
和pip install clang
,这两个都是其他SO帖子推荐的。
我有同样的问题,所以我在Kivy Discord上询问,我被告知在Python 3.11上还没有Kivy的轮子。我被告知要从源代码构建它,这是可行的。https://kivy.org/doc/stable/gettingstarted/installation.html kivy-source-install
git clone https://github.com/kivy/kivy.git
cd kivy
python3.11 -m pip install cython
python3.11 setup.py build_ext --inplace
make install
最好在虚拟环境中执行此操作
python3.11 -m virtualenv <Environment Name>
cd <Environment Name>
source bin/activate
现在,2023年2月,在macOS中有两个替代方案来解决这个问题。可能对Windows也一样,我不知道。第一个如上所示,可以被描述为"建造自己的轮子"。用于Python 3.11。这种方法对我不起作用,因为我的安装在"make install"时崩溃了。关于xcode的错误信息行。第二种选择对我来说很有效,那就是安装最新版本的Python, Kivy已经为它构建了一个轮子。在我的例子中,我安装了Python3.10。在我安装Python3.10之后,在www.kivy.org上的Kivy安装说明工作得非常完美。
Python 3.10在www.python.org上有一个安装包,所以很容易安装。在我的例子中,安装包修改了我的.bash_profile文件,以便将python3.10插入到我的PATH中。
在我的例子中,Python3.10是我机器上安装的最新版本的Python。如果Python 3.10不是您计算机上的最新版本,那么您可能会遇到问题。计算机上的不同应用程序可能使用不同的Python版本。Python安装程序可能会更改您的PATH变量,使其仅指向Python 3.10安装。
我怀疑"建造你自己的轮子";这个问题在Kivy安装中很常见,因为Kivy总是落后于Python。Python将发布Python 3.12,我猜Kivy要等上几个月才能赶上。这就意味着如果你总是更新你的Python安装,那么你可能会遇到需要"构建你自己的轮子"的情况。
conda install kivy -c conda-forge
如果你正在使用Anaconda,不要使用pip来安装kivy,除非你是从源代码安装的。
https://kivy.org/doc/stable/gettingstarted/installation.html kivy-source-install
你所需要做的就是安装cython
。
% pip3 install cython
重新安装kivymd
% pip3 install kivymd
这对我来说很有效。
在MacOS上,虚拟环境将反映用于创建它的Python版本。因此,请安装Python3.10以获得最新的kivy wheel。
使用自制或其他机制,安装Python 3.10。Homebrew是MacOS的好朋友。
然后使用Python版本作为命令:
$ python3.10 -m venv myvenv
$ . ./myenv/bin/activate
$ pip install -U pip wheel
$ pip install kivy[full]
这个为我工作,MacOS Monterey 12.6.4