用于PyGObject的MSYS2 python解释器和标准python解释器之间的区别?

问题描述 投票:0回答:1

我使用MSYS2根据Gtk +文档安装了PyGObject:https://www.gtk.org/download/windows.php

当我运行以下代码时:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

[使用python3.7文件夹中的C:\msys64\mingw64\bin可以正常工作。

但是当我尝试使用标准python解释器或将msys2站点程序包添加到路径的嵌入式解释器运行它时,出现错误

import sys
sys.path.append(r"C:\msys64\mingw64\lib\python3.7\site-packages")
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
ImportError: cannot import name '_gi' from 'gi' (C:\msys64\mingw64\lib\python3.7\site-packages\gi\__init__.py)

为什么? msys2 python解释器和其他解释器有什么区别?有没有办法解决这个问题?

最后,我想使PyGObject可用于存在于外部软件中的现有嵌入式python解释器。

python pygobject msys2
1个回答
0
投票

MSYS2中安装的Python版本是使用GCC编译的。安装gobject-introspection时,它是使用GCC编译的,并链接到也使用GCC编译的GTK库。在mingw存储库中,已对Python进行了大量修补,以使其可以在此独特环境中运行。

[不幸的是,将无法运行MSYS2中内置的Python软件包,而无法使用MSVC内置的常规Windows解释器运行它们。您可以使用Mingw-w64 Python解释器使用PyInstaller或其他方法打包应用程序,然后在Windows中运行它。您将必须使用MSYS2中的Python解释器进行开发。

© www.soinside.com 2019 - 2024. All rights reserved.