【问题标题】:Setting up developement environment: PyCharm, python-gtk, windows搭建开发环境:PyCharm、python-gtk、windows
【发布时间】:2021-02-26 05:04:31
【问题描述】:

我想使用这些工具进行开发:

  • MS-Windows 10
  • Python3
  • gtk
  • PyCharm

我安装了 PyCharm,但是到目前为止 Python 和 gtk 都没有安装。

子问题:

  • 使用 32 位或 64 位版本的 Python?
  • 如何为 python 安装 gtk(pip 或 exe)?
  • 在 PyCharm 中使用虚拟环境还是使用“现有解释器”?

AFAIK 你不能在 Windows 上使用 pip 安装 gtk for Python。

更新

我现在遵循本指南:https://pygobject.readthedocs.io/en/latest/getting_started.html#windows-getting-started

更新2

windows 上的gtk 似乎很少使用。有很多奇怪的东西,我现在使用pyside2(QT),我很高兴

【问题讨论】:

    标签: python pycharm pygtk


    【解决方案1】:

    使用 32 位或 64 位版本的 Python?

    文档建议 msys2 使用 32 位,所以这是最安全的。但是,如果您有一台 64 位计算机,则 64 位版本可以为更大的任务提供更多的处理能力。

    如何为 python 安装 gtk(pip 或 exe)?

    绝对是使用source 提供的 .exe。这个工具是一个适用于 Windows 的包管理器,可以让你安装 gtk 及其依赖项。那里的说明将引导您设置默认环境,然后从该环境运行 pacman -Suypacman -S mingw-w64-i686-gtk3 mingw-w64-i686-python2-gobject mingw-w64-i686-python3-gobject

    在 PyCharm 中使用虚拟环境还是使用“现有解释器”?

    对于这种安装方法,必须使用“现有解释器”,因为您需要将 PyCharm 指向您的 msys2 Python,它实际上有 gtk 可用。它应该位于C:\msys64\bin\python.exe。请记住,您可能无法以这种方式直接通过 PyCharm 运行某些脚本,因为 Python 将通过虚拟 bash 类环境运行。将脚本保存在C:\msys64\home\<username> 目录中,以便在使用python3 script.py 打开 msys2 时轻松运行它们。

    【讨论】:

    • 这听起来像是一个可靠的指令。我一直想念这个。大多数文档都过时了(例如 pypi 的 pygtk 的最后一次发布是七岁)。非常感谢。我将使用 32 位,因为在我的情况下处理速度根本不是问题。
    【解决方案2】:

    使用 32 位或 64 位版本的 Python?

    你可以选择任何,这并不重要。

    如何为 python 安装 gtk(pip 或 exe)?

    您应该可以使用 pip 安装它:pip install pygtk

    在 PyCharm 中使用虚拟环境还是使用“现有解释器”?

    如果您不知道,您可能需要“现有解释器”。 应该有一个选项可以选择您的python.exe 的路径 它应该在那里:菜单->文件->设置->项目->项目解释器

    【讨论】:

    • 如果你能用pip下载模块就好了。但是为什么这个页面告诉我“确保所有运行时和构建依赖项都存在”pygobject.readthedocs.io/en/latest/…
    • 请详细说明通过 pip 安装 pygtk 的提示。 pygtk 的最后一个版本已经七年了。你建议我用这个吗?
    • 很抱歉让您对 pygtk 感到困惑,看起来没有简单的方法可以做到这一点。这是您可以获取 Windows lfd.uci.edu/~gohlke/pythonlibs/#pygtk 的 python 数据包的资源。您从此处下载 .whl 文件,然后运行 ​​pip install <your file>.whl。我在那里只看到 py27 版本。可能在 python3 上安装它的唯一方法是尝试从源代码构建它
    • 你确定你知道你在说什么吗?看过其他答案吗?对我来说,如果你只是删除你的答案是 100% 好的,这是无效的。至少我认为它是无效的,但也许我错了。
    【解决方案3】:

    有两种方法可以做你想做的事。

    但首先,让我们直截了当地说,当您说 gtk 时,您没有指定 GTK-2 或 GTK-3。 GTK-2 python bindings aka PyGTK 是一个相当老的包(但仍然可以使用)。我想,PyGobject 中包含的 GTK-3 python 绑定是您想要的。

    第一个选项

    所以,我将从限制性更强的开始。
    您可以通过PyGI AllInOne installer 安装 PyGObject。这是一个.exe 安装程序,它附带了很多东西,从 gtk3 和 gstreamer,到 Glade 和 Gedit 等 gnome 应用程序,再到非 gnome 应用程序。为什么我说它是限制性的?它仅适用于 2.7+ 到 3.4+(32 或 64 位)的 Python。所以如果你想使用 Python 3.6,你不能使用这个。似乎it will never be updated

    第二个选项

    另一种方法是使用 MSYS2,就像之前有人建议的那样。此选项允许您使用 mingw-64 存储库支持的当前 Python 版本。我现在相信是 Python 3.7。
    您可以按照PyGObject site 中描述的步骤进行安装。或者下面解释的方式(CLion)。

    我不知道如何将 PyCharm 与 MSYS2 python 安装一起使用,但我在谷歌上搜索了一下tutorial for CLion。也许有一个 PyCharm 的类比。

    【讨论】:

    • 是的,我认为 gtk-3 是要走的路。如果 PyGI all-in-one-installer 没有得到开发,那么我将使用 msys2。谢谢你的回答。
    【解决方案4】:

    几年后更新,以防其他人在这条路上跌跌撞撞 - pyGTK/pyGObject 现在只能通过 msys2/mwing 安装。这会导致一些问题。

    首先,整个msys python与更普通的pip方式分发工具不兼容。据我所知,现在大多数 python 工具都是通过 pip 和 Wheels 共享的。我正在使用可通过源代码和 pip 获得的网络消息传递库 (pynng)。我真的不想经历从源头重建的事情。这就是上个世纪的 unix mods。

    其次,当我尝试将 mwing 的 python 与 pyCharm 一起使用时,它失败了,说有各种权限错误。 mwing 似乎喜欢限制事物。也许如果我以管理员身份运行 pyCharm,它可能会起作用。

    也许我会使用原始帖子的更新并为 pyside/QT 放弃 GTK。无论如何,我对 GTK 的外观/感觉并不满意。这只是我正在做的 rPi 项目的简单解决方案。

    【讨论】:

    • 感谢您的回答。我很高兴我不再需要编写原生 GUI。
    【解决方案5】:

    第 1 步:下载 Python 3 安装程序

    打开浏览器窗口并导航到 python.org 上的 Windows 下载页面。

    第 2 步:在顶部标题为 Python Releases for Windows 的下方,

    单击 Python 3.x.x. 的链接滚动到底部,然后选择适用于 64 位的 Windows x86-64 可执行安装程序或适用于 32 位的 Windows x86 可执行安装程序。

    32位和64位的区别:

    • 如果您的系统有 32 位处理器,那么您应该选择 32 位安装程序。
    • 在 64 位系统上,任一安装程序实际上都适用于大多数用途。 32 位的版本一般会占用更少的内存,但是 64 位的版本对于计算密集型的应用表现更好。source

    第 3 步:对于 PyCharm 安装,请遵循 link

    使用现有解释器(预装 python)

    第4步:启动PyCharam,进入设置并点击项目解释器,浏览上面第2步安装的python3路径。

    第 5 步: 如何在 PyCharm 选择的 python 环境中安装 PyGTK 或任何库。按照步骤 4,然后在搜索栏中单击 绿色 + 符号,只需命名您要安装的库

    .

    从这里开始,您可以按照步骤 5 安装任何库,而不是每次都执行 pip install library-name

    你也可以使用虚拟环境选项,好处是有些库只能使用特定版本的python。所以你可以在同一台机器上的不同虚拟环境中设置不同版本的python。

    virtualenv 当您有多个项目并且不希望它们都共享相同的 Python 安装时,它确实会大放异彩。例如,您可能有两个需求冲突的项目。 virtual environment set-up

    对于最新版本的 PyGTK 而不是 第 5 步,请关注link

    【讨论】:

    • pygtk 2.24 版已有七年历史了。我不认为这是要走的路。
    • @guettli 我看到 2.24 是 PyGTK 的稳定版本,是的,它已经 7 岁了。如果您想要最新版本的 PyGTK,那么我们必须取消 pip,我们需要按照其他方式编辑答案