【问题标题】:Win32Com.Client error with Python 3.4Python 3.4 的 Win32Com.Client 错误
【发布时间】:2014-06-02 21:46:26
【问题描述】:

我正在使用 python 3.4 和 pywin32-219。我正在尝试使用 win32com.client 模块。我收到以下错误。你们有什么建议可以让我使用win32com.client。所有其他 win32com._ 导入就好了。 (我正在使用它来尝试在 MS Excel 中创建文档和图表)

import win32com
>>> win32com.client
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    win32com.client
AttributeError: 'module' object has no attribute 'client'
>>> import win32com.client
Traceback (most recent call last):
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 56, in __init__
    _LoadDicts()
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 106, in _LoadDicts
    f = open(os.path.join(win32com.__gen_path__, "dicts.dat"), "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Program Files (x86)\\python\\lib\\site-packages\\win32com\\gen_py\\dicts.dat'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 139, in GetGeneratePath
    os.stat(fname)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\Program Files (x86)\\python\\lib\\site-packages\\win32com\\gen_py\\__init__.py'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    import win32com.client
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\__init__.py", line 11, in <module>
    from . import gencache
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 662, in <module>
    __init__()
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 58, in __init__
    Rebuild()
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 649, in Rebuild
    _SaveDicts()
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 65, in _SaveDicts
    f = open(os.path.join(GetGeneratePath(), "dicts.dat"), "wb")
  File "C:\Program Files (x86)\python\lib\site-packages\win32com\client\gencache.py", line 141, in GetGeneratePath
    f = open(fname,"w")
PermissionError: [Errno 13] Permission denied: 'C:\\Program Files (x86)\\python\\lib\\site-packages\\win32com\\gen_py\\__init__.py'

【问题讨论】:

  • 您对C:\\Program Files (x86)\\python\\lib\\site-packages\\win32com 有写入权限吗? gen_py 仅在 EnsureDispatch 期间创建。

标签: python python-3.x win32com python-3.4


【解决方案1】:

确保Python-3.4.1pywin32 Build 219 已正确安装(请随时重新安装)。请注意 64/32 位安装程序,两者需要相同(当然也是最适用于您的操作系统的),这是导致问题的可能原因之一。

您是计算机的管理员,您是否检查了对 C:\Program Files (x86)\python\lib\site-packages\win32com 的写入权限?(正如@Schollii 所说)如果没有,请尝试成为它,这是另一种错误的可能性。

您应该编辑您的帖子以添加您的 windows 版本(windows 7-8、XP、Vista 等),在以下链接中成为管理员的方式 => Windows 7Windows 8 和 @ 987654325@.

然后,如果问题仍未解决,请尝试以下操作(在 Windows 7、64 位上为我工作)。 去那里:C:\Python34\Lib\site-packages\win32 并将所有 .pyd 文件从这里复制到 C:\Python34。

希望对你有帮助,

问候,

【讨论】:

    【解决方案2】:

    Reinstallingadodbapi 为我解决了这个问题(Python 3.4.1. and Pywin32 build 219 on Win7 x64):

    py -3 -m pip install adodbapi
    

    【讨论】:

      猜你喜欢
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多