Python 3.4的Win32Com.Client错误

时间:2014-06-02 21:46:27

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

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

2 个答案:

答案 0 :(得分: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等..),成为以下链接的管理员的方式=&gt;适用于Windows 7Windows 8以及Windows XP

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

希望能帮到你,

此致

答案 1 :(得分:0)

Reinstalling adodbapi为我解决了这个问题(Python 3.4.1。和Win7 x64上的Pywin32 build 219):

py -3 -m pip install adodbapi