【问题标题】:Problem with making a .exe without a console window (PyInstaller)制作没有控制台窗口的 .exe 的问题(PyInstaller)
【发布时间】:2020-07-08 12:47:08
【问题描述】:

我已经制作了一个 python 代码的可执行文件,但是每次我运行它时,都会打开一个控制台窗口。为了阻止这种情况,我尝试过:

  • 在打包时运行 --noconsole
  • 将 .spec 文件中的 console=True 更改为 console=False

第一个根本不起作用,没有任何变化。但是,当我执行第二个时,.exe 停止工作(当我尝试打开时,它没有)。

有什么建议吗?

【问题讨论】:

  • 使用 -w、--windowed 或 --noconsole。我在docs 中没有看到 --nocommand 选项。
  • 第二个不起作用,因为它指定完成的python程序不应该有控制台窗口,而不是pyinstaller进程(据我所知)

标签: python python-3.x packaging


【解决方案1】:

我相信你正在使用 pyinstaller 创建一个 exe。

只需添加 --noconsole 标志,命令窗口不会出现。

例如

pyinstaller --noconsole scriptname.py

正如作者所指出的,这在规范文件中更改为 debug=True 和 console=False 后有效。

【讨论】:

  • 打包的时候用过--noconsole,没用。
  • 您还可以编辑 .spec 文件。编辑该行以确保 (console=False)。之后你可以像这样打包 - pyinstaller
  • 我正在运行的命令是python -m PyInstaller --name Gameficacao --noconsole path\Gameficacao\Gameficacao.py。我也尝试过编辑规范文件,就像我在帖子中所说的那样,我运行了python -m PyInstaller file.spec,这给了我在帖子中谈到的问题。
  • 试试这个:(pyinstaller --noconsole path\Gameficacao\Gameficacao.py)。我不使用名称标志并假设它是稍后出现的位置参数。无论如何,您可以通过 Windows 资源管理器重命名 exe。
  • 那么可能是关于隐藏导入的问题。 Pyinstaller 不会打包一些库。你可以做两件事:a)在创建 exe 时添加一个调试(--debug 标志),这将显示它失败的地方 b)在这种情况下,我从命令提示符调用我的 exe,它列出了我们可以然后的确切错误解决
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 2015-08-23
相关资源
最近更新 更多