【问题标题】:win32com import error python 3.4 [duplicate]win32com导入错误python 3.4 [重复]
【发布时间】:2014-03-18 20:23:40
【问题描述】:

我刚刚安装了 python 3.4 64bit 并尝试安装 win32com。我已经下载了 pywin32-218.win-amd64-py3.4.exe 并运行它没有任何问题。 pip freeze 报告 pywin32==218。但是,当我尝试导入 win32com.client 时,出现以下错误:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    import win32com.client
  File "C:\program files\Python34\lib\site-packages\win32com\__init__.py", line 5, in <module>
    import win32api, sys, os
ImportError: DLL load failed: The specified module could not be found.

sys 和 os 导入没有问题。导入 win32api 是问题。

使用相同的程序,它适用于 python 2.7.6 和 python 3.3.4。

我该如何解决这个问题?

【问题讨论】:

标签: python pywin32


【解决方案1】:

这无需在 python 3.3 中复制 DLL 即可工作。

为什么需要像 2.6 一样复制这些内容?现在肯定应该解决这个问题!

经过一些额外的研究,我发现您需要做的就是以管理员身份运行安装后脚本。

python C:\Python34\Scripts\pywin32_postinstall.py -install

安装脚本似乎没有正确执行此步骤。

【讨论】:

  • 我必须运行python C:\Python34\Scripts\pywin32_postinstall.py -install
  • 我有这个问题,但我没有那个脚本。我在哪里可以买到?
  • 安装 Python 3.4 后它应该在那里。再次安装(在删除 python 之后)或安装在另一台机器上并在那里检查它。
  • 这部分解决了我的问题。如果我在当前目录中使用 python 运行:python C:\mypath\myscript.py 安装后脚本似乎已经完成了它的工作并且正在按预期工作。另一方面,如果我在当前目录中使用我的目标脚本运行:C:\mypath\python myscript.py 后脚本不起作用,我必须按照 TankorSmash 在另一个答案中的建议将 DLL 移动到 win32 站点包目录中。跨度>
【解决方案2】:

在我将 pywintypes26.dllpythoncom26.dll 复制到 c:\Python26\Lib\site-packages\win32我解决了这个问题!

引自here

【讨论】:

  • 看起来我们同时发现了这一点。我想知道为什么 pywin 安装程序不这样做。
  • @foosion 这可能只是不安全之类的,虽然我不太确定。
  • 这听起来不对 - 它应该开箱即用
  • 这完全解决了我的问题,python 安装后脚本仅部分解决了我的问题。谢谢!
【解决方案3】:

我也在 Windows 7 中运行 python 3.4 64 位,我遇到了同样的问题。

我按照this Stack Overflow answer 中的建议解决了它。基本上,我将pywintypes34.dll 所在的路径添加到我的系统路径中,并且它起作用了。

在我的例子中,它是 C:\Python34\Lib\site-packages\pywin32_system32。路径中必须有 2 个 DLL "pythoncom34.dll","pywintypes34.dll"。

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 2023-03-24
    • 2016-07-27
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2014-07-04
    相关资源
    最近更新 更多