我有一个使用COM和'Python'脚本的项目。早些时候我们使用'ComTypes'现在我们使用Win32Com。为了保持向后兼容性,我需要更改某些接口的名称。所以这就是我的工作
1)使用'makepy'实用程序从我的.tlb文件创建一个python文件,这会在.. \ Lib \ site-packages \ win32com \ gen_py文件夹中创建一个.py文件
2)我在创建的python文件中更改了我感兴趣的界面名称。
3)当我加载我的应用程序时,会创建相应的.pyc文件,一切正常。
现在我不想在部署我的软件的每台机器上重复这个练习。因此,通过安装程序,我将.py和.pyc文件复制到.. \ Lib \ site-packages \ win32com \ gen_py
但是当我的应用程序启动时,它无法识别已更改的界面。表现得好像没有.py或.pyc文件。所有其他接口都可以工作,但更改后的名称不起作用。它动态地似乎在场景后面创建了编译的python,忽略了.pyc文件。
如果我删除这些位置的.dat文件和.pyc文件,它会在启动应用程序时再次创建.pyc文件。但是没有使用它,因为我更改的界面不起作用。
如果我使用步骤1,2和3,一切都会再次运行!!我很困惑。
请帮忙。
答案 0 :(得分:0)
行。我发现了什么问题。使用makepy工具创建python文件时,它会更新gen_py目录中的dicts.dat文件。因此,您需要将该文件复制到其他计算机上。