我正在为 Windows 7 的 Python 应用程序开发 Inno Setup 安装程序,我有以下要求:
- 应用程序不应向安装目录写入任何内容
- 它应该能够使用.pyc 文件
- 该应用不应要求特定的 Python 版本,因此我不能只向安装程序添加一组 .pyc 文件
是否有推荐的处理方法?比如给用户一种(重新)生成 .pyc 文件的方法?还是 .pyc 文件的启动时间更短通常不值得担心?
请您参考如下方法:
不保证 PYC 文件与不同的 python 版本兼容。如果你不知道你所有的客户都在运行相同的 python 版本,你真的不想直接分发 pyc 的。因此,您必须在分发 PYC 和支持多个 Python 版本之间做出选择。
您可以使用 py_compile 创建编译所有文件的构建过程并将它们压缩到特定版本的包中。你可以用 setuptools. 来做到这一点;然而这样做会很尴尬,因为您必须在每个需要支持的版本中运行 py_compile。
如果您基本上是在分发一个封闭的应用程序,并且不希望人们对您的源代码进行微不足道的访问,那么 py2exe可能是一个更简单的选择。如果您的 python 应该集成到用户的 python 安装中,那么创建 .py 文件的 zip 并添加一个使用 zipfile 导入压缩包的单行 .py stub 可能更简单。
如果它让你感觉更好,PYC 不会提供太多额外的安全性,它也不会真正提高性能 :)
