Python portable pyinstaller

时间:2016-03-07 10:59:05

标签: python pyinstaller

我正在构建一个应用程序,我希望我的用户只需点击几下就可以创建可执行文件。它是使用Tkinter制作的GUI应用程序,其中有一个带有一些选项的页面。然后应该将这些选项写入预制的Python脚本。这将是没有问题的。棘手的部分是将脚本编译成可执行文件(.exe)。我一直在使用PyInstaller制作可执行文件,但这只能在我自己的本地计算机上使用。如果我想打包我的应用程序并捆绑PyInstaller怎么办?我知道PyInstaller需要pywin32,这意味着它也必须捆绑在一起。

我完全迷失了如何将PyInstaller与我的应用程序捆绑在一起。

我一直在做很多关于此事的谷歌搜索,但似乎无法找到任何帮助。我得到的最接近的是this帖子,对此没什么帮助。

1 个答案:

答案 0 :(得分:2)

尝试使用Nuitka。我为Python(包括PyInstaller)尝试了一些替代方案,并且最喜欢这个。使用Nuitka,您可以将脚本(及其所需的所有模块)编译为独立的.exe文件。然后,您可以使用许多可用的options创建安装程序。

这是user manual,这是命令的例子(我用于我的项目):

nuitka --standalone --recurse-all --recurse-stdlib --remove-output --windows-disable-console --recurse-directory=YOUR_PROJECT_DIR

UPD: 如何在脚本中运行nuitka:

import os
import subprocess

project_dir = os.path.abspath('project')
project_main = os.path.abspath('project\\main.py')

subprocess.call([
    'nuitka', '--standalone', '--recurse-all', '--recurse-stdlib', '--remove-output',
    '--windows-disable-console', 
    # '--windows-icon={}'.format(icon_path),
    '--recurse-directory={}'.format(project_dir), 
    project_main
    ], shell=True)