ModuleNotFoundError: No module named 'win32api'

做~自己de王妃 提交于 2021-01-29 17:38:57

问题


This is the error received:

    Traceback (most recent call last):
  File "C:/Users/Joe Martin/AppData/Local/Programs/Python/Python37/test.py", line 12, in <module>
    import win32com.client
  File "C:\Users\Joe Martin\AppData\Local\Programs\Python\Python37\lib\site-packages\win32com\__init__.py", line 5, in <module>
    import win32api, sys, os
ModuleNotFoundError: No module named 'win32api'

This error occurs when trying to import the win32com.client module.

Solutions Tried:

  • Fresh wipe and install of Python 3.7
  • pip install pypiwin32
  • pip install pywin32
  • Running the pywin32_postinstall.py

I cannot find any other solution for how to fix this issue.


回答1:


This is usually because no PythonPath is appended after the package is installed. Check the file--pywin32.pth under the folder--\\PythonVersion\\Lib\\site-packages\\.

The content in the file is like below:

# .pth file for the PyWin32 extensions
win32
win32\lib
Pythonwin
# Entries needed for a "portable" installations, where the post_install script
# isn't run, which would normally copy the pywin32 core DLL files to either
# the top of the python directory.
# We just stick the source of these DLLs directly on the PATH.
import os;os.environ["PATH"]+=(';'+os.path.join(sitedir,"pywin32_system32"))

Or create a PYTHONPATH environment variables, and append the win32 and win32/lib path into it.

You could also add these two paths to Python in project temporarily

import sys
sys.path.append('\\PythonVersion\\lib\\site-packages\\win32')
sys.path.append('\\PythonVersion\\lib\\site-packages\\win32\\lib')

The addition of paths is only valid for the time being.



来源:https://stackoverflow.com/questions/56238859/modulenotfounderror-no-module-named-win32api

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!