1

我正在使用 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'
4

2 回答 2

0

重新安装adodbapi 为我解决了这个问题(Python 3.4.1. and Pywin32 build 219 on Win7 x64):

py -3 -m pip install adodbapi
于 2014-08-06T08:39:07.047 回答
0

确保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以及Windows XP

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

希望对你有帮助,

问候,

于 2014-06-16T09:04:05.873 回答