【问题标题】:Kivy Installation Guide for Windows 10适用于 Windows 10 的 Kivy 安装指南
【发布时间】:2019-12-07 21:18:13
【问题描述】:

我一直在尝试关注在线 YouTube 视频,以便在我的 Windows 10 计算机上安装 kivy(python-3.7.5-amd64、kivy 1.11.1)。除了他们在处理该主题的方式上似乎有不同的变化之外,我无法获得令人满意的解决方案。

这些是我正在遵循的步骤:

  • 我将 python (python-3.7.5-amd64.exe) 安装到 C:\Python37
  • 我将路径修改为包含以下内容:C:\Python37\Scripts;C:\Python37;C:\Python37\Libs;C:\Python37\DLLs;C:\Python37\Lib\site-packages ;
  • 我添加了以下环境变量 PYTHONPATH = C:\Python37\DLLs;C:\Python37\Libs;C:\Python37;C:\Python37\Scripts;C:\Python37\Lib\site-packages;李>
  • 我打开一个命令窗口并输入以下命令(取自 kivy.org)
    • python -m pip install --upgrade pip wheel setuptools virtualenv
    • python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*
    • python -m pip install kivy_deps.gstreamer==0.1.*
    • python -m pip install kivy_deps.angle==0.1.*
    • python -m pip install kivy==1.11.1
    • python -m pip install kivy_examples==1.11.1
  • 我尝试运行一个简单的程序。在 Windows 资源管理器中,我右键单击代码文件 (label.py),然后从快捷菜单中选择 python。
  • 会立即弹出一个窗口,并使用 kivy.cpython-37.pyc 创建一个名为 __pycache__ 的目录。双击会导致程序运行。
  • 是否有可能有一个更简单的解决方案,让源代码在编译后执行?

如果我打开命令提示符并尝试使用命令 python label.py 执行源代码,我会得到以下信息:

Traceback (most recent call last):
  File "label.py", line 1, in <module>
    from kivy.app import App
  File "C:\Users\chrib\Google Drive\_Software\Python_Kivy\kivy.py", line 1, in <module>
    from kivy.base import runTouchApp
ModuleNotFoundError: No module named 'kivy.base'; 'kivy' is not a package

为什么会发生这种情况?

还有可能有一个cleaner的开发环境。我已经习惯了 Visual Studio IDE,如果我能使用这个环境那就太好了。

谢谢

label.py 的代码

from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):
  def build(self):
    return Label(text='Hello world!');

if __name__=='__main__':
  MyApp().run();

【问题讨论】:

  • 请分享 label.py 文件
  • 添加代码 - 谢谢

标签: python-3.x kivy


【解决方案1】:

我一直在尝试关注在线 YouTube 视频,以便在我的 Windows 10 计算机上安装 kivy

您是否尝试过简单地按照 kivy.org 上的说明进行操作?无需使用 youtube 视频,安装主要是普通的 python 模块安装。

我尝试运行一个简单的程序。在 Windows 资源管理器中,我右键单击代码文件 (label.py),然后从快捷菜单中选择 python。

不要这样做,通过打开命令提示符并键入 python yourfilename.py 来运行文件。这样,您将看到发生的任何错误的完整回溯。

会立即弹出一个窗口,并使用 kivy.cpython-37.pyc 创建一个名为 pycache 的目录。双击会导致程序运行。

听起来第一次运行可能会崩溃。如上所述,您想获取有关原因的信息。

是否有可能有一个更简单的解决方案,其中源代码在编译后执行?

当您运行代码时,它会执行。如上,它可能崩溃了。

ModuleNotFoundError: 没有名为 'kivy.base' 的模块; 'kivy' 不是一个包

您是否创建了一个名为kivy.py 的文件?看起来你有,并且这个文件被优先导入,而不是安装的 kivy 模块。

还有可能有一个更清洁的开发环境。我已经习惯了 Visual Studio IDE,如果我能使用这个环境那就太好了。

我不确定你认为你的开发环境有什么不干净的地方,但你应该从 python 环境及其安装的包的角度来考虑。 Kivy 只是一个安装到 Python 环境中的 Python 模块。当您使用 IDE 时,它可能会与一个或多个 python 环境集成(带有在它们之间切换的选项)。将 Visual Studio 与 Kivy 结合使用并没有什么特别之处,只需按照您通常所做的操作将其与 Python 结合使用即可。

【讨论】:

  • 我对清洁的定义是,我在专注于工作时遇到了相当大的麻烦。目前,我无法始终如一地让相同的代码连续执行两次。我卸载了所有东西并重新安装了 64 位版本的 python 3.7.5。然后我按照 Windows 的 kivy 安装实现了可选的虚拟环境。我将代码移动到 C:\Python37 下的子目录并运行。我打开了一个新的 CMD 并启用了环境,但出现了错误。
  • `c:\Python37&gt;kivy_venv\Scripts\activate (kivy_venv) c:\Python37&gt;python.exe acb\label.py Traceback (most recent call last): File "acb\label.py", line 1, in &lt;module&gt; from kivy.app import App File "c:\Python37\acb\kivy.py", line 1, in &lt;module&gt; from kivy.base import runTouchApp ModuleNotFoundError: No module named 'kivy.base'; 'kivy' is not a package
  • 抱歉,我似乎无法将之前的评论格式化为代码。我似乎无法插入换行符
  • 引用我自己的话:您是否创建了一个名为 kivy.py 的文件?看起来你有,并且这个文件被优先导入,而不是安装的 kivy 模块。
  • import kivy; print(kivy.__file__) 的结果是什么?
【解决方案2】:

我想通了。我在代码目录中有一个名为 kivy.py 的程序。我重命名了它,它起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 2018-11-12
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多