14

我是 python 新手,但我正在考虑用 python 制作一个程序来送给我的朋友。他们对计算机知之甚少,所以如果我让他们自己安装 python,他们就做不到,但是如果我可以制作一个安装程序来下载某些版本的 python,它只包含我的文件所需的内容运行并制作一个 exe 文件,该文件将在其自己的 python 解释器中运行 .py 文件。我还进行了谷歌搜索,看到了我可以用来将代码制作成 exe 文件以分发的冻结应用程序(cx_freeze 我使用 python 3.2),但并不是我所有的朋友都有 Windows 计算机,我宁愿让我的程序在每个新的通过对 .py 文件打补丁而不是完全重新安装它来自动更新版本。

** 我不是在寻找任何东西来制作独立的可执行文件。只是某种安装程序,它捆绑了您使用的 Python 版本的简约版本。还有一个选项,它只是一个在便携式 python 解释器中运行 python 文件的链接,仅适用于 windows 和一个 .sh 文件,它对 linux 执行相同的操作。

4

4 回答 4

5

我很震惊没有回答提到 py2exe 现在同时支持 Python 2.x 和 Python 3.x

https://pypi.python.org/pypi/py2exe#downloads

于 2015-08-27T10:21:48.770 回答
4

Pyinstaller 是将它们转换为 Windows 可执行文件的不错选择。您可以cmd.exe以管理员身份安装它并运行pip install pyinstallerpip install --pre pyinstaller.

然后您可以使用pyinstaller. (对不起,我无法提供我在系统还原后编写的自动化脚本。我将很快使用 pyqt5 再次编写它)

句法

--onefile- 将程序及其文件放入 exe。

--onedir- 将您的程序放入一个目录(文件夹)(比--onefile它不需要提取文件更快)

-c- 创建一个控制台应用程序。

-w- 创建一个没有控制台的应用程序。

-i "[Path to .ico or exe with icon. e.g C:\Files\CODE\Icon.ico]"- 创建一个没有控制台的应用程序。

你可以在这里阅读其余部分。

然后,您可以进行inno 设置并创建离线安装程序。

如果您需要一个网络安装程序(它会下载一个文件并将其解压缩。)我目前正在编写一个,并且很乐意为您创建一个。

于 2020-05-04T16:59:23.587 回答
3

Python 是一种解释型语言,而不是一种编译型语言。因此,您可能想要分发的任何独立程序都必须将整个解释器捆绑在其中以及您使用的库。这将导致单个程序的文件很大。此外,这个巨大的安装不能用于运行其他 python 程序。一个稍微复杂一点但比这更好的解决方案是只安装一次解释器并使用它运行任何 python 程序。

我知道你的问题的重点是制作一个独立的可执行文件,所以我知道我没有回答它。但是无法创建可执行的独立文件是解释语言的警告之一。然而,这里的一个基本点是关于解释语言的整个目标,它是一个单一的解释器,具有运行任何 python 代码所需的所有通用函数(现在很高兴不需要比它们需要的更长)。所以你看,这并不是真正的警告,这解释语言的全部意图。您最终可能会找到一种方法来创建一个在您朋友的计算机上运行的独立 python 可执行文件,但这会破坏解释语言背后的整个框架和想法。

于 2012-03-31T23:40:05.130 回答
0

您可以创建一个 inno setup 安装程序。
脚步:

  1. 使用以下命令构建 pyinstaller 可执行文件:
    pip install pyinstaller
    pyinstaller --onefile yourfile.py
  2. 使用 innosetup 创建安装程序。有关更多信息,
    请参阅Inno 设置文档此博客
于 2022-01-25T18:18:49.157 回答