python.pyc文件与win32com

python.pyc文件与win32com,python,win32com,typelib,Python,Win32com,Typelib,我有一个使用COM和“Python”脚本的项目。之前我们使用的是'ComTypes',现在我们使用的是Win32Com。为了保持向后兼容性,我需要更改一些接口的名称。这就是我要做的 1) 使用“makepy”实用程序从my.tlb文件创建python文件,这将在..\Lib\site packages\win32com\gen\u py文件夹中创建一个.py文件 2) 我在创建的python文件中更改我感兴趣的接口的名称 3) 当我加载应用程序时,会创建一个相应的.pyc文件,一切正常 现在,我

我有一个使用COM和“Python”脚本的项目。之前我们使用的是'ComTypes',现在我们使用的是Win32Com。为了保持向后兼容性,我需要更改一些接口的名称。这就是我要做的

1) 使用“makepy”实用程序从my.tlb文件创建python文件,这将在..\Lib\site packages\win32com\gen\u py文件夹中创建一个.py文件

2) 我在创建的python文件中更改我感兴趣的接口的名称

3) 当我加载应用程序时,会创建一个相应的.pyc文件,一切正常

现在,我不想在部署软件的每台机器上重复此练习。因此,我通过安装程序将.py和.pyc文件复制到..\Lib\site packages\win32com\gen\u py

但当我的应用程序启动时,它无法识别更改的界面。行为就像没有.py或.pyc文件一样。所有其他接口都可以工作,但更改的名称不能工作。它似乎在幕后动态地创建编译过的python,而忽略了.pyc文件

如果我在这些位置删除了.dat文件和.pyc文件,那么在启动应用程序时它会再次创建.pyc文件。但是它没有被利用,因为我修改过的界面不起作用

如果我使用步骤1、2和3,一切又能正常工作!!我很困惑


请帮忙。

好的。我发现了问题所在。使用makepy工具创建python文件时,它会更新gen_py目录中的dicts.dat文件。因此,您需要将该文件复制到其他机器上