【问题标题】:No module named kivy.tools.packaging.pyinstaller_hooks没有名为 kivy.tools.packaging.pyinstaller_hooks 的模块
【发布时间】:2013-11-27 19:28:28
【问题描述】:

我正在关注Kivy's Windows-packaging guide。 我在最后一步,building the spec,我收到以下错误:

ImportError: No module named kivy.tools.packaging.pyinstaller_hooks

我使用的是 Python 2.7.5、Kivy 1.7.2 for WindowsPyInstaller 2.1。 指南工作的所有先前步骤。 对于本指南,我正在打包我使用 Kivy 的 Pong game tutorial 制作的 Pong 游戏。 我在球只是弹跳的地方停止了教程,但从技术上讲,它是一个使用 Kivy 的工作程序,所以它应该足以练习打包。

我在 Kivy 支持区查看了this post,但没有帮助。 (该帖子中列出的丢失文件存在于我的 Kivy 下载中。)

我在哪里可以找到错误消息中的模块,以及如何告诉 PyInstaller 在哪里可以找到它?

【问题讨论】:

    标签: python pyinstaller kivy


    【解决方案1】:

    如果您的操作系统是 Ubuntu,并且您通过 ppa-repository 安装了 kivy,您应该使用 sudo apt install kivy-tools

    【讨论】:

      【解决方案2】:

      尝试将其添加到 .spec 文件的顶部:

      import kivy
      

      如果在您运行 pyinstaller 时产生错误,那么您可能没有正确设置环境。

      具体来说,您可能正在使用来自 C:\Python\ 的 pyinstaller 而不是 C:\blah\Kivy\bin...

      让这个工作最简单的方法是安装一个 MSYS shell,然后这样做:

      . /c/blah/kivyenv.sh
      pip install pyinstaller
      pyinstaller main.spec
      

      我只对默认终端(即非 MSYS)感到悲痛,所以如果你使用它,恐怕我不知道。

      【讨论】:

      • 是的,我使用的是默认终端。 :|
      • 我尝试使用 . /c/blah/kivyenv.sh 它会说没有这样的文件或目录
      【解决方案3】:

      在运行pyinstaller.py 之前运行kivy.bat 将修复错误。

      这个批处理文件设置适当的路径,以便 pyinstaller 知道在哪里可以找到 Kivy。 此步骤在教程中列出;必须不遗漏任何步骤。

      【讨论】:

        【解决方案4】:

        如果你的操作系统是ubuntu,去kivy git仓库

        kivy tools/packaging

        并将文件复制/粘贴到此目录

        /usr/lib/python2.7/dist-packages/kivy/tools/packaging/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-03-28
          • 2017-12-30
          • 2018-01-06
          • 2018-11-11
          • 2015-04-10
          • 2014-02-17
          • 2018-02-26
          • 2018-02-19
          相关资源
          最近更新 更多