Python 'No module named win32gui' 安装pywin32后
Python 'No module named win32gui' after installing pywin32
运行 python 3.6 在 windows 8.
ModuleNotFoundError: No module named 'win32gui'
我已尝试多次安装 pywin32,但 none 到目前为止都有效。
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ 顺利完成安装,但问题令人信服。
与 pip 安装相同:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32
在我的 Python 根目录中,站点包文件夹中现在有多个 pywin32/win32 变体。 pywin32.pth 不包含 win32gui,但仅包含以下内容:
# .pth file for the PyWin32 extensions
win32
win32\lib
Pythonwin
万不得已,我可以切换到另一个 GUI 工具包,但由于我使用的是一些开源代码,这意味着我必须重写大量代码,这就是为什么它是不得已的原因。
更新:
从以下位置更改导入行:
import win32gui, win32ui, win32con, win32api
收件人:
from win32 import win32gui, win32ui, win32con, win32api
将错误推送到:
ImportError: cannot import name 'win32ui'
解决方案更新:
from win32 import win32gui
import win32ui, win32con, win32api
这看起来很像 32-bit/64-bit 的问题。如果你是 运行 64 位 Python 并且你有 32 位 PythonWin 你会看到这样的事情。 win32gui
和 win32ui
都是 .pyd
文件(DLL),它们应该分别位于 Lib\site-packages\win32
和 Lib\site-packages\pythonwin
中。
如果您可以在那里看到它们但导入失败,那么它们很可能是错误的位数。 64 位可执行文件无法加载 32 位 DLL,反之亦然,如果您尝试,在大多数情况下,错误消息会告诉您您尝试加载的 DLL 不存在。即使你可以看到它是。
在与 OP 交换意见后进行编辑:
如果将多个导入放在一行中,PythonWin 也会出现此类错误。按照 PEP-8 做一个 import 到一行。
from win32.win32gui import FindWindow, GetWindowRect, MoveWindow
我猜标准型号名称是win32,所以网上的教程都过时了。对于 v300 之前所说的任何内容,请添加“win32”。在模型名称之前给出一个父模型名称,即“win32”
运行 python 3.6 在 windows 8.
ModuleNotFoundError: No module named 'win32gui'
我已尝试多次安装 pywin32,但 none 到目前为止都有效。 https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ 顺利完成安装,但问题令人信服。 与 pip 安装相同:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32
在我的 Python 根目录中,站点包文件夹中现在有多个 pywin32/win32 变体。 pywin32.pth 不包含 win32gui,但仅包含以下内容:
# .pth file for the PyWin32 extensions
win32
win32\lib
Pythonwin
万不得已,我可以切换到另一个 GUI 工具包,但由于我使用的是一些开源代码,这意味着我必须重写大量代码,这就是为什么它是不得已的原因。
更新: 从以下位置更改导入行:
import win32gui, win32ui, win32con, win32api
收件人:
from win32 import win32gui, win32ui, win32con, win32api
将错误推送到:
ImportError: cannot import name 'win32ui'
解决方案更新:
from win32 import win32gui
import win32ui, win32con, win32api
这看起来很像 32-bit/64-bit 的问题。如果你是 运行 64 位 Python 并且你有 32 位 PythonWin 你会看到这样的事情。 win32gui
和 win32ui
都是 .pyd
文件(DLL),它们应该分别位于 Lib\site-packages\win32
和 Lib\site-packages\pythonwin
中。
如果您可以在那里看到它们但导入失败,那么它们很可能是错误的位数。 64 位可执行文件无法加载 32 位 DLL,反之亦然,如果您尝试,在大多数情况下,错误消息会告诉您您尝试加载的 DLL 不存在。即使你可以看到它是。
在与 OP 交换意见后进行编辑:
如果将多个导入放在一行中,PythonWin 也会出现此类错误。按照 PEP-8 做一个 import 到一行。
from win32.win32gui import FindWindow, GetWindowRect, MoveWindow
我猜标准型号名称是win32,所以网上的教程都过时了。对于 v300 之前所说的任何内容,请添加“win32”。在模型名称之前给出一个父模型名称,即“win32”