是否安装了错误版本的pygame?

0 投票
1 回答
730 浏览
提问于 2025-04-18 15:47

我借了朋友的Mac电脑,按照网上的教程用Homebrew安装Python和Pygame,特别是看了这个视频:https://www.youtube.com/watch?v=L0Cl4Crg7FE,还有这个帖子:http://www.reddit.com/r/pygame/comments/2bsqe4/installing_python3_and_pygame_os_x_mavericks_and/

我成功安装了Python 3.4.1和一个版本的Pygame,下载地址是https://bitbucket.org/pygame/pygame

现在我开始测试我的程序,看看它能不能运行。但是它不行,因为提示说找不到pygame.movie这个模块,而我正是用它来播放视频的。

我之前在Windows 7电脑上用Python 3.4.0和Pygame 1.9.2a0编程,一切都运行得很好。有没有人知道我该怎么解决这个问题?

1 个回答

0

根据你提供的这个GitHub仓库的说明

你应该先为你的系统安装一个二进制包。这些二进制包通常会包含或者提供所需的依赖信息。从pygame的下载页面选择一个适合你系统和Python版本的安装程序。http://www.pygame.org/download.shtml

而我加粗的那句话似乎就是你问题的根源:你没有安装依赖项,所以没有视频支持,因此在你从源代码构建时,跳过了pygame.movie

不幸的是,他们只提供了Python 2.x的二进制包,并且只适用于旧版本的OS X,这意味着你无法完全按照那些说明来操作,你手动构建是正确的做法。

我在下载页面上没有看到他们列出这些依赖项。虽然有一个链接指向安装说明,但那个链接是404错误。而在BitBucket的README中也没有列出这些依赖项。(我不太确定BitBucket是否是正确的地方——下载页面把你引导到一个svn仓库,然后又引导到BitBucket仓库,但GitHub仓库看起来更新且同样官方——不过GitHub仓库的信息是一样的……)

所以……你可能需要查看一下config_darwin.pyconfig_unix.py。但我第一反应是你可能缺少SMPEG或者avformat,因为SMPEG是用来在SDL中显示视频的,而avformat是用来将视频从其他格式转换为SMPEG可以处理的格式。所以,如果你没有这些,可以使用Homebrew或者SDL.org的二进制安装程序,或者你喜欢的其他方式来添加它们,然后重新清理构建PyGame。

撰写回答