Skip to main content
 首页 » 编程设计

Python .pyc 文件和 Windows UAC

2025年05月04日10del

我正在为 Windows 7 的 Python 应用程序开发 Inno Setup 安装程序,我有以下要求:

  1. 应用程序不应向安装目录写入任何内容
  2. 它应该能够使用.pyc 文件
  3. 该应用不应要求特定的 Python 版本,因此我不能只向安装程序添加一组 .pyc 文件

是否有推荐的处理方法?比如给用户一种(重新)生成 .pyc 文件的方法?还是 .pyc 文件的启动时间更短通常不值得担心?

请您参考如下方法:

不保证 PYC 文件与不同的 python 版本兼容。如果你不知道你所有的客户都在运行相同的 python 版本,你真的不想直接分发 pyc 的。因此,您必须在分发 PYC 和支持多个 Python 版本之间做出选择。

您可以使用 py_compile 创建编译所有文件的构建过程并将它们压缩到特定版本的包中。你可以用 setuptools. 来做到这一点;然而这样做会很尴尬,因为您必须在每个需要支持的版本中运行 py_compile。

如果您基本上是在分发一个封闭的应用程序,并且不希望人们对您的源代码进行微不足道的访问,那么 py2exe可能是一个更简单的选择。如果您的 python 应该集成到用户的 python 安装中,那么创建 .py 文件的 zip 并添加一个使用 zipfile 导入压缩包的单行 .py stub 可能更简单。

如果它让你感觉更好,PYC 不会提供太多额外的安全性,它也不会真正提高性能 :)