导入错误:没有名为 win32api 的模块

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

我使用的是 Python 2.7,我想在 Windows 7 上使用

pywin32-214
。我使用 MSI 安装程序安装了
pywin32-214
。但是当我在 Python 脚本中导入
win32api
时,它会抛出错误:

no module named win32api

我该怎么办?如何在 Windows 7 上使用

win32api

python winapi pywin32
17个回答
279
投票

这解决了我的案例 在哪里可以找到Python的win32api模块?

pip install pypiwin32

55
投票

根据pywin32 github你必须运行

    pip install pywin32

之后,你必须跑

    python Scripts/pywin32_postinstall.py -install

我知道我正在恢复旧线程,但我刚刚遇到了这个问题,这是解决它的唯一方法。


50
投票

我遇到了同样的问题,我通过重新启动 Python 编辑器和 shell 解决了这个问题。我已经安装了

pywin32
,但直到重新启动后才拾取新模块。

如果您已经这样做了,请在您的 Python 安装中搜索

win32api
,您应该在
win32api.pyd
下找到
${PYTHON_HOME}\Lib\site-packages\win32


18
投票

我在我的 Python 3 分区中没有找到投票最多的答案的包。

我遇到了同样的问题并通过安装模块 pywin32 解决了它:

在普通的蟒蛇中:

pip install pywin32

在蟒蛇中:

conda install pywin32

我的 python 安装(Python 的英特尔® 分发版)存在某种依赖性问题,并出现此错误。安装此模块后,它不再出现。


4
投票

我按照之前答案中的建议安装了

pywin32
pipywin32
,但我仍然没有文件夹
${PYTHON_HOME}\Lib\site-packages\win32
。 这在尝试时总是会导致错误
import win32api

简单的解决方案是卸载这两个软件包并重新安装

pywin32

pip uninstall pipywin32
pip uninstall pywin32
pip install pywin32

然后重新启动 Python(和 Jupyter)。 现在,

win32
文件夹就在那里,导入工作正常。问题解决了。


3
投票

以下应该有效:

pip install pywin32

但这不适合我。我通过从这里下载并安装 exe 解决了这个问题:

https://github.com/mhammond/pywin32/releases


2
投票

安装pywin32后

正确安装模块(pywin32)的步骤

  1. 首先搜索你的 python pip 存在于哪里

    1a。例如,在我的例子中 pip 的位置 - C:\Users\用户名\AppData\Local\Programs\Python\Python36-32\Scripts

  2. 然后打开命令提示符并将目录更改为 pip 文件夹位置。

    cd C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts
    
    C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts>pip install 
    pypiwin32
    

重新启动你的IDE

现在一切都完成了,您可以使用该模块了。


2
投票

这一行:

import win32com

给我带来了错误
no module named win32api

在提升的终端中使用此命令:

pip install pywin32-ctypes
pip install pywin32
并根据显示的错误,替换:
import win32api
from win32ctypes.pywin32 import win32api

import pywintypes
from win32.lib import pywintypes

import _win32sysloader
from win32 import _win32sysloader

在你的源文件中,或者甚至是报告错误的包的文件中(如果你选择这种方法,就知道你在做什么)可能会解决这个错误。但更好的方法是将相应的目录添加到 python 路径变量中,以便更好地与 python 加载系统集成,更多信息请参见:https://realpython.com/python-import/

所以我把这个内容:

python38.zip
.
./lib
./lib/site-packages
./lib/site-packages/win32
./lib/site-packages/win32/lib
./lib/site-packages/win32ctypes/pywin32
./lib/site-packages/win32ctypes


# Uncomment to run site.main() automatically
#import site

(顺序很重要) 进入此文件:

<python_root_installation_directory>/python38._pth
这样,当使用标准导入时,就会加载正确的库。如果库中某处有缓存导入,它将起作用,并且库内的导入也能起作用。

这适用于我和我的安装,因此您的环境设置可能不同,本指南可能不完全兼容,但这是解决问题的一个很好的步骤,也许修改或扩展我的上述步骤可能会导致解决方案在另一个发行版中。


1
投票

试试这个,它对我有用,可能对你也有帮助!

 pip install pywin32==225

1
投票

我已经尝试了您所有的答案,终于找到了解决方案。我的问题是我从 Pycharm IDE 上的 pip 和 python 解释器安装。我刚刚从我的解释器中删除了 win32compact,它就可以工作了。


1
投票

我总结一下,如有错误请指正,如下:

# update to newest pywin32
python -m pip install -U pywin32 pypiwin32

# run the post-install @ref https://stackoverflow.com/questions/21343774/importerror-no-module-named-win32api
python %CONDA_PREFIX%\Scripts\pywin32_postinstall.py -install

# double check
python -c "print( __import__('win32api') )"

1
投票

安装 pywin32 后重新启动空闲对我有用


0
投票

就我而言,唯一有效的方法是从以下位置下载适当的轮子:https://pypi.org/project/pywin32/#files,然后使用 --force-reinstall 进行安装。

pip install pywin32-300-cp37-cp37m-win_amd64.whl --force-reinstall


0
投票

我在这里找到了解决方案: https://www.ti-enxame.com/pt/python/pywin32-e-python-3.8.0/813327700/

我能够在 Spyder 上运行它,没有错误,但它在 cmd 提示符下不起作用

我只是在win32api之前导入模块pywintypes

import pywintypes
import win32api

0
投票

我尝试重新安装pywin32,安装不同版本,但没有任何方法可以使pywin工作。最终唯一对我有帮助的是跑步

python pywin32_postinstall.py

位于 Anaconda3\Scripts 文件夹中。感谢 Sameer_nubia 突出显示该位置。


0
投票

我通过

解决了这个问题
python -m pip install -U pywin32 pypiwin32

0
投票

如果安装后显示错误 --->

pip install pywin32

只需重新启动代码编辑器即可解决问题

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