如何安装win32com python库


18

我正在尝试安装win32com模块。我知道我应该下载适用于WindowsPython扩展,但是它不起作用。

在安装适用于Windows的Python并尝试运行后import win32com.client,出现以下错误消息:

>>> import win32com.client

    Traceback (most recent call last):
      File "<pyshell#2>", line 1, in <module>
        import win32com.client
      File "C:\Python27\lib\site-packages\win32com\__init__.py", line 5, in <module>
        import win32api, sys, os

ImportError: No module named win32api

尝试向Google寻求有关如何为Python安装win32api的帮助也没有帮助;我只是再次提到了Python for Windows扩展。


1
您是否为您的Python版本安装了适用于Windows扩展的Python二进制文件?例如,如果您安装64位Python,然后安装32位扩展,win32con则将导入纯Python模块(如),而不会导入C扩展模块(如win32api)。如果您安装Python 2.6,然后安装2.7的扩展名,它们可能会导入,但稍后会崩溃;等

10
为什么从堆栈溢出迁移到地球上呢?
让·弗朗索瓦·科贝特

Answers:


10
  1. 启动具有管理员权限的命令行。
  2. python -m pip install pywin32
  3. C:\Program Files\Stackless36\Scripts>python pywin32_postinstall.py -install
  4. python C:\code\Python\speech\speak.py

其中speak.py包含以下文本:

import win32com.client

speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("It works, bitches.")

在Win32上的Python 3.6.4无堆栈3.1b3 060516(v3.6.4-slp:9557b2e530,2017年12月21日,15:23:10)上可以正常工作[MSC v.1900 64 bit(AMD64)]。Vanilla CPython在这里闲逛:

C:\Users\C\AppData\Local\Programs\Python\Python36-32>python.exe
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import win32com.client
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'win32com'
>>> exit()

C:\Users\C\AppData\Local\Programs\Python\Python36-32>python.exe -m pip install pywin32
Collecting pywin32
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/d4/2d/b927e61c4a2b0aaaab72c8cb97cf748c319c399d804293164b0c43380d5f/pywin32-223-cp36-cp36m-win32.whl (8.3MB)
    100% |████████████████████████████████| 8.3MB 50kB/s
Installing collected packages: pywin32
Successfully installed pywin32-223
You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

4

检查sys.path以确保安装模块的目录位于该目录中,否则,您必须添加该目录(有关此方面的帮助,请使用google PYTHONPATH窗口)。


1
谢谢你的建议。问题原来是不同的:由于某种原因,注册表中有两个不同的Python安装,尽管它们都指向相同的文件。重新安装它都解决了问题。

我尝试在环境变量中设置PYTHONPATH,但仍然看不到此工作。得到同样的错误。
索曼·杜贝

对于那些现在已经安装了OP链接的软件包的用户,您需要重新启动Python控制台(例如IDLE),以便对PYTHONPATH进行必要的更改以填充内容,以便您import可以正常工作。
SeldomNeedy

2

我昨天才遇到同样的问题。我安装pypiwin32使用pip

尝试

>>pip install -U pypiwin32

在命令提示符下

确保您的Python软件包位于系统PATH中。

请注意,有几种安装Python模块的不同方法,并且您发现并非所有模块都可以工作。pip install-U一起为我使用了pypiwin32模块(其中包含win32com)。


1
所述-U开关手段--upgradepypi.org/project/pypiwin32是一个更好的填充(.whl格式)pypi.org/project/pywin32由相同的开发者。我读到那python -m pip是首选,仅pip出于路径原因。
Cees Timmerman '18

这对我有用。请注意,如果收到错误消息TypeError: 'module' object is not callable,请尝试:python -m pip install -U pypiwin32
datalifenyc19年

-2

通过在所有计算机“ win32api”中搜索来在计算机中查找文件,将其放在此处C:\ Python26 \ Lib \ win32com“这表明您已经安装了win32com库,并且您会在“ C”中找到我认为的文件:\ Python26 \ Lib \ site-packages \ win32“毕竟文件应该位于计算机的这两处,以便模块可以在fini中正常工作”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.