我正在开发一个Python应用程序,它可以与Outlook交互并代表Outlook发送电子邮件。因此,我需要使用win32com
库,才能使用win32com.client
。
除此之外,相同的Python脚本还必须使用Oracle mysql-connector访问MySQL数据库。因此,必须使用Python34,因为这是我设法使用sql-connector的唯一版本。
现在问题的关键在于此。我已经安装了win32com(因为它没有预装Python34)并且安装时没有错误,我可以在python中导入win32com。但是,在导入win32com.client时,它会显示以下错误消息:
>>> import win32com.client
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 60, in __init__
_LoadDicts()
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 110, in _LoadDicts
f = open(os.path.join(win32com.__gen_path__, "dicts.dat"), "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Python34\\lib\\site-packages\\win32com\\gen_py\\dicts.dat'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 143, in GetGeneratePath
os.stat(fname)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\Python34\\lib\\site-packages\\win32com\\gen_py\\__init__.py'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python34\lib\site-packages\win32com\client\__init__.py", line 11, in <module>
from . import gencache
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 666, in <module>
__init__()
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 62, in __init__
Rebuild()
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 653, in Rebuild
_SaveDicts()
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 69, in _SaveDicts
f = open(os.path.join(GetGeneratePath(), "dicts.dat"), "wb")
File "C:\Python34\lib\site-packages\win32com\client\gencache.py", line 145, in GetGeneratePath
f = open(fname,"w")
PermissionError: [Errno 13] Permission denied: 'C:\\Python34\\lib\\site-packages\\win32com\\gen_py\\__init__.py'
美丽的错误,不是吗!我手动检查了目录'C:\\Python34\\lib\\site-packages\\win32com\\gen_py\\'
,看看有什么,这就是事情,它完全是空的。当我安装win32com
时,我安装了管理员权限,因此无法解决问题。我还重新安装了win32com
模块,看看是否可以修复它但无济于事。
如果任何对Python有更多经验的人可以就我需要安装或修复的内容提供一些建议,我将非常感激
答案 0 :(得分:0)
在这里找到了问题。事实证明我需要以管理员身份运行Python,应该在给定Permission错误的情况下解决这个问题。但是奇怪的是gen_py目录仍然是空的。
答案 1 :(得分:0)
我遇到了同样的问题,并重新安装了AS管理员win32com.client模块的pywin32-XXX.exe安装程序,现在一切正常。 祝你好运。