【问题标题】:Pyinstaller no window creationPyinstaller 没有创建窗口
【发布时间】:2021-04-17 11:12:03
【问题描述】:

我用pygame创建了一个小游戏,想和朋友分享,所以我想把它转换成.exe文件。我正在使用 python 3.9.1、pygame 2.0.1 和 pyinstaller 4.1,我的操作系统是 Win 10。 尝试运行创建的 exe 文件后,不会出现任何窗口,控制台也只会出现一瞬间。 我读到,pyinstaller 可能对包含的文件有问题,因此我用一个更简单的例子对其进行了测试:

import pygame
pygame.init()

surf = pygame.display.set_mode((600, 600))
while True:
    for e in pygame.event.get():
        if e.type == pygame.QUIT:
            pygame.quit()
            break
    
pygame.display.update()

这里我有同样的问题,现在窗口出现了,当我通过 cmd 运行它时,我得到的唯一错误是

在测试其他脚本时出现以下错误:

Fatal Python error: init_fs_encoding: failed to get the Python codec of   the filesystem encoding
Python runtime state: core initialized
LookupError: unknown encoding: utf-8

Current thread 0x00001f4c (most recent call first):
<no Python frame>

编辑 在 python 3.8.6 中使用 pyinstaller 似乎可以工作

【问题讨论】:

  • 你能分享你在pyinstaller中使用的命令吗?它应该类似于以下示例:stackoverflow.com/questions/48757977/…
  • 我使用的命令是“pyinstaller --onefile scriptname.py”,我在 python 3.7 中使用过这个命令,当时(差不多一年前)运行良好

标签: python pygame pyinstaller


【解决方案1】:

我会说这很可能是因为当作为 .exe 执行时,python.exe 无法找到并导入 pygame 模块。 pyinstaller 包含一个标志,您可以在其中指定当前安装的软件包的位置,然后将它们包含在它创建的 .exe 文件中。这样,即使您将 .exe 移至新计算机,它也始终可以访问这些包。

您应该在与您的脚本所在目录相同的目录中尝试从命令行或 powershell 执行以下命令...

python -m venv .venv
.\.venv\Scripts\activate
pip install pygame
pyinstaller --onefile --paths .\.venv\Lib\site-packages scriptname.py

这将创建一个新的虚拟环境,它是一个单独的包目录,而不是整个系统中使用的目录。

激活虚拟环境。

将 pygame 安装到该虚拟环境中

然后将你的 scriptname.py 打包成一个包含 pygame 的 .exe。

【讨论】:

  • 仍然或多或少地得到相同的“错误”。现在从控制台运行 .exe 时没有错误消息。我还尝试将路径添加到 pycharm 生成的虚拟环境。
  • 我还尝试使用带有简单控制台脚本的 pyinstaller,它完全没有依赖关系,它只是短暂地闪烁控制台。当我在 cmd 中运行它时,我收到以下错误:致命 Python 错误:init_fs_encoding:未能获取文件系统编码 Python 运行时状态的 Python 编解码器:核心初始化 LookupError:未知编码:utf-8 当前线程 0x00001f4c(最近一次调用优先):
  • 查看stackoverflow.com/questions/54087049/… 看看是否有帮助。这可能是由于您的python环境变量设置不正确。
  • 感谢您的帮助,我使用 python 3.8.6 修复了它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 2017-07-02
  • 2012-03-25
相关资源
最近更新 更多