我正在使用python 3.6
,并试图将import
win32com.client
作为win32
,以便能够发送带有outlook的电子邮件,但继续获得上面的import error
。
我安装了pywin32
和pypiwin32
并运行了postinstall
脚本(确实看到它说“您没有安装COM对象的权限)。”
我在运行脚本的位置看到了pywintpyes36.dll
和pyhoncom36.dll
。
我做了一些搜索,似乎找不到我错过的东西。是因为我无法安装COM对象吗?任何帮助都将不胜感激,谢谢。
编辑
我正在开发一个venv,并使用py -m pip install pywin32
和py -m install pypiwin32
安装了两个库。我验证了,我看到安装在“站点-包”文件夹在我的静脉。
我的进口品:
import sys
sys.path.append("C:\path\venv\Lib\site-packages")
import tkinter as tk
import getpass
import os.path
import time
import os
import win32com.client as win32
import sqlite3
from datetime import datetime
from functools import partial
我有sys.path.append
在那里,否则模块根本找不到。
完全错误消息:
Traceback (most recent call last):
File "C:\path\program.py", line 8, in <module>
import win32com.client as win32
File "C:\path\venv\Lib\site-packages\win32com\__init__.py", line 5, in <module>
from win32 import win32api
ImportError: DLL load failed: The specified module could not be found.
发布于 2021-11-19 16:23:46
这可能与OP没有直接关系,但可能会帮助其他以标题为基础在这里结束的人。
摘要
conda
环境中使用Python>=3.8
的可能解决方法
pip install pywin32
,但是conda install pywin32
(例如来自康达锻造)详细信息
在通过pywin32
安装pip
之后,在windows 10上使用Python3.9创建了一个新创建的(Mini-)Conda环境,遇到了以下错误
ImportError: DLL load failed while importing win32file: The specified module could not be found.
pywin32安装说明显式地提到了这种类型的问题,并且有几个相关问题。
然而,在我的情况下,其他事情正在发生。
以下是一些有趣的观察:
pywin32
版本,在这些版本中没有出现问题(刚刚验证了这一点)。pywintypesXX.dll
等,但它们和平共处。pywintypesXX.dll
文件夹中没有system32
。事实证明,在我的系统上,只有在使用pip install pywin32
的conda
环境中执行Python>=3.8时,导入错误才会出现。Python3.7(也不是2.7)不会出现这个问题。
在Python>=3.8 conda环境中,conda install pywin32
修复了这个问题(而不是使用pip
)。
显然是Python3.8改变了找到dll文件的方式。此更改是并入pywin32,但如果将conda
和pip
混合使用,仍然会造成麻烦。
相关信息:
https://stackoverflow.com/questions/60750197
复制相似问题