Windows安装程序在卸载时不会清除* .pyc和* .pyo文件

时间:2016-05-21 02:14:10

标签: python setuptools msiexec

我有一个python应用程序(PyQt4应用程序),我使用setuptools创建了一个Windows MSI安装程序。

python setup.py bdist_msi

MSI正确安装应用程序(在site-packages下)。在卸载(msiexec / x)时,它还会删除所有相关的* .py文件。但是,编译的文件仍然存在于磁盘上。随后当我运行新版本的应用程序时,它仍然会选择陈旧的* .pyc文件。

是否可以选择以某种方式告诉MSI清理* .pyc和* .pyo文件?

(我怀疑这是因为* .pyc和* .pyo文件首先没有由MSI安装,而是在运行python.exe时创建。但是会感谢一些指导。)

由于

1 个答案:

答案 0 :(得分:0)

你是完全正确的。 Msi不会删除这些文件,因为它们未由安装程序部署。为了清理它们,你必须创建自定义动作,它将删除所有* .pyc和* .pyo文件。

为了防止您知道确切的文件名,您可以添加虚拟(空)文件,以便安装人员将其视为" s" property"并在卸载时删除它们。