提前说明下,这三个问题,其实都是一个问题!
首先看下Wrong version的问题,简单点说,就是版本不对,以前的版本,跟现在实际版本的区别。
大概就是上面这些版本。
即使你手动,把这些版本改对了。
但是还会, 出现Typelib different than module,这个Typelib不同于模块的问题。
所以这两个其实是一个问题,即使把comtypes用pip卸载,重装comtypes包,还是会出现。
最终的解决办法,就是在python目录中,找到script文件夹,搜索找到clear_comtypes_cache.py,运行这个文件,清除缓存文件。
然后就会出现下面这个问题:
导不了包的问题,cannot import name 'SpeechLib' ,就是你gen文件夹,没有下面这些文件。因为之前你已经清除了。
可以通过下面这行代码生成。就是之前导包的时候,直接用这些代码就可以了,而不是直接from import这样导包,容易出现错误。
from comtypes.client import CreateObject
import comtypes.client
try:
from comtypes.gen import SpeechLib # comtypes
except ImportError:
# Generate the SpeechLib lib and any associated files
engine = comtypes.client.CreateObject("SAPI.SpVoice")
stream = comtypes.client.CreateObject("SAPI.SpFileStream")
from comtypes.gen import SpeechLib
这样,最后,上面三个问题就解决了。
如果还不行的话,就把comtypes包pip卸载重装下,再按照上面的去操作。
pip uninstall -y comtypes
pip install https://github.com/vasily-v-ryabov/comtypes/archive/refs/heads/mtime_none.zip