Windows上安装Pygame - 错误:找不到vcvarsall.bat

1 投票
3 回答
4686 浏览
提问于 2025-04-16 04:00

我有一台运行Windows 7 64位的开发电脑。我下载并安装了32位的Python 2.6.6。然后我又下载了适用于Python 2.6的pygame 1.9.1,想要安装它。结果我遇到了:

C:\pygame-1.9.1release>setup.py install
....
running build_ext
building 'pygame._numericsurfarray' extension
error: Unable to find vcvarsall.bat

我该怎么办呢?
(我没有安装任何编译器、Visual Studio或者其他相关软件,如果这有关系的话)

3 个回答

1

让我给出一个不太过时的答案。

为什么会发生这个问题?

pygame 是用 C 语言写的,所以在安装之前需要先编译。如果你的电脑上没有安装 Visual Studio Build Tools,setup.py 就会在编译时失败。

我该如何安装 pygame?

Pip 提供了已经编译好的 pygame 版本,这样你就不需要自己去编译了。如果你遇到错误,那可能是因为还没有为你当前的 Python 版本编译。你可以尝试把 Python 降级。

比如,我就把版本从 3.11 降级到 3.10。

更多信息请查看: https://devblogs.microsoft.com/python/unable-to-find-vcvarsall-bat/

2

几周前我遇到过类似的问题,跟一个叫做Traits的包有关。我的问题是这个包在尝试编译扩展,但我没有安装Visual Studio。解决办法是安装MinGW,然后在你Python安装文件夹下的\Lib\distutils文件夹里的distutils.cfg配置文件中,告诉Python使用这个编译器。看起来这个页面可以帮你自动完成整个过程;如果你想手动操作,这里是我distutils.cfg的内容:

[build]

compiler=mingw32

重新运行setup.py,你就可以顺利进行下一步了。

4

PyGame的下载页面上,建议使用msi文件,这个文件是专门为Windows系统准备的安装包,而不是下载源代码后自己去执行。

setup.py install

撰写回答