【问题标题】:How to run GTK3 Python3 script outside of MSYS2 in Windows如何在 Windows 中在 MSYS2 之外运行 GTK3 Python3 脚本
【发布时间】:2019-02-24 18:37:21
【问题描述】:

如何让我的 GTK3+ Python 脚本在 Msys2 自己的 Python 解释器之外工作,进入我自己的 venv(虚拟环境)Python3 解释器?我想准备我的 Python 3 脚本以分发到其他计算机,但没有 Msys2。

我使用的是 Windows 10。

我已成功关注 GTK 网站上的 instructions,在 Windows 中下载 GTK3+ 和 Python 绑定。

我已经使用 MSYS2 安装了 GTK3+ 和 Python 绑定。我的脚本在 C:\msys64\mingw64\bin 的 MSYS2 的 Python3 解释器中成功运行。但是,我想在 MSYS2 之外使用单独的 Python 3 解释器 (venv) 运行我的 Python 脚本 - 而不是 MSYS2 中的解释器。

根据我的研究,我似乎需要从以下位置复制 GTK3 .dll 文件和图标 C:\msys64\mingw64\binC:\msys64\mingw64\share

到我想要的 Python3 解释器路径,还有我的脚本文件。

但是当我尝试在虚拟环境中运行我的脚本时,我得到:

builtins.ImportError: 无法从 'gi' 导入名称 '_gi'

有什么想法吗?谢谢。

【问题讨论】:

    标签: python-3.x gtk3 pygobject msys2


    【解决方案1】:

    我不知道这是否可能。

    但如果最终目的是分发您的应用程序,那么您应该在 MSYS2 中安装 PyInstaller 并在那里生成可执行文件。然后,您将能够在任何 Windows 机器上分发和执行您的应用程序。

    【讨论】:

    • 理想情况下,这就是我想要的 - 让 PyInstaller 找到依赖项。但是,当我使用 PyInstaller 时,它会生成可执行文件,但无法成功运行 Python 脚本(错误:没有名为 '_struct' 的模块)。
    • 是的,我一直在尝试使用 pyinstaller 制作 pygobejct 的可执行文件时遇到问题。也许检查官方 GitHub 存储库中的 pyinstaller 问题部分。可能会有一些有用的东西。
    【解决方案2】:

    只能使用 MSYS2 Python 解释器和所有必需的库来运行您的程序。您不能只复制文件,然后使用使用 MSVC 构建的 Windows Python 解释器运行它们。

    PyInstaller 是一个很好的解决方案,可以将应用程序与解释器和所有库打包在一起。你提到的关于没有名为“_struct”的模块出现错误的问题是fixed

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-30
      • 2016-07-14
      • 2016-07-22
      • 2018-05-06
      • 2020-07-02
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      相关资源
      最近更新 更多