【问题标题】:Use pyInstaller 2.0 to create executable of python script with specific arguments使用 pyInstaller 2.0 创建具有特定参数的 python 脚本的可执行文件
【发布时间】:2026-02-12 19:25:01
【问题描述】:

我已经成功使用 pyInstaller 2.0 从简单的 python 脚本创建可执行文件。我有一个 python 脚本,它运行不同的搜索并根据命令行参数产生不同的输出。有没有办法使用 pyInstaller 假设某些参数创建脚本的可执行文件?例如,我想生成一个 exe 文件,该文件将运行并产生与从命令行运行它相同的输出,如下所示:

python pacman.py --layout mediumMaze --pacman SearchAgent

pyInstaller 2.0 可以做到这一点吗?我无法在提供的手册中找到这个问题。提前谢谢你。

【问题讨论】:

  • 编辑 pacman.py 以假定这些参数为默认值?

标签: python executable command-line-arguments pyinstaller


【解决方案1】:

这是一种迂回的方式,但您可以在单独的 python 文件中导入pacman.py,并以它执行命令行参数指定的事情的方式调用它。然后,使用 pyinstaller,您将编译单独的 python 文件。

如果无法以这种方式使用pacman.py,您可以尝试创建以下 Python 文件并让 pyinstaller 编译该文件。

import sys

sys.argv.extend(['--layout', 'mediumMaze', '--pacman', 'SearchAgent'])

import pacman
pacman.main() # if your file has a `main` function

(在这两种情况下,pyinstaller 仍然会将两个文件组合成一个 exe)

【讨论】:

  • 是的,它是(在这方面)。请注意,如果pacman.py 写得相当好(如果不是__main__,它实际上不会做任何事情),这不会做任何事情。在编写良好的独立脚本中,通常有一个 main() 函数或在通过导入包装它时必须显式调用的东西。
  • 这似乎使用正确的默认参数运行文件,但不幸的是,可执行文件没有显示 pygame 输出。我不明白为什么会这样,因为脚本按预期运行。嗯。
最近更新 更多