微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法初始化 Pygame 显示,但只能在通过 tox 运行时

如何解决无法初始化 Pygame 显示,但只能在通过 tox 运行时

我有以下最小的测试程序。

import pygame
pygame.init()
print(pygame.display.list_modes())

如果我尝试通过 Tox 命令运行此程序,则会收到错误消息:

Traceback (most recent call last):
  File "test.py",line 3,in <module>
    print(pygame.display.list_modes())
pygame.error: video system not initialized

但是,如果我激活 tox 命令运行的虚拟环境并手动运行相同的程序,它会按预期工作。我希望两个执行环境都相同。我做错了什么?

解决方法

为了解决这个问题,我需要添加一个

passenv = DISPLAY

到我的[testenv]

如上面的评论所述,tox 执行 isolated 构建,并且不会传入 ENVIRONMENT 变量,除非您将它们列入白名单。

我对 pygame 不是很熟悉,我只是快速浏览了一下源代码。

这适用于我的 Ubuntu 机器 - 也许您的设置不同。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。