使用pip无法安装Pygame

84

我正在尝试安装Pygame。我使用Enthought Python Distribution运行Windows 7。我成功安装了pip,但是当我尝试使用pip安装Pygame时,出现以下错误:

  

"由于HTTP错误HTTP错误400,无法安装要求的Pygame:URL请求有误..."

我在谷歌上搜索这个问题,但没有找到任何答案。不过我在Stack Overflow上找到了另一个问题,提示提问者使用以下命令:

pip install hg+http://bitbucket.org/pygame/pygame

这给了我以下错误:

Cannot find command hg

我不确定还能怎么做,因为我在谷歌搜索的所有内容都是关于Mac的,所以我不知道我能否在Windows上遵循那些指示。


2
如果我移除安装命令中的“hg”部分,就会得到以下错误提示:“无法确定 c:\users...\appdata\local\temp\pip-tnjf7m-build 的归档格式。” - NumberOneRobot
2
为什么不直接从Pygame网站下载呢? - Serial
2
我下载完后该如何安装? - NumberOneRobot
3
这是一个 .msi 文件,所以我认为它会自动安装。您可以在 http://www.pygame.org/download.shtml 下载。 - Serial
3
дјјд№ҺжңүйҖӮз”ЁдәҺWindowsзҡ„mercurialиҪҜ件-дҪ е°қиҜ•иҝҮдәҶеҗ—пјҹhttp://mercurial.selenic.com/wiki/WindowsInstall hgжҳҜдё»иҰҒзҡ„mercurialе‘Ҫд»ӨгҖӮ - moon.musick
鉴于mercurial是一个python应用程序,您也可以使用pip install mercurial进行安装。如果您想将所有构建依赖项放入一个requirements.txt文件中并通过pip进行安装,则这非常方便。 - GDorn
28个回答

102

使用pip安装PyGame的步骤

  1. 安装构建依赖项(在Linux上):

  2. sudo apt-get build-dep python-pygame
    
  3. 安装mercurial以使用 hg (在Linux上):

  4. sudo apt-get install mercurial
    

    在 Windows 上,你可以使用安装程序:下载

  5. 使用 pip 安装 PyGame:

  6. pip install hg+http://bitbucket.org/pygame/pygame
    
    如果在Linux系统上出现freetype-config: not found错误,可以尝试使用sudo apt-get install libfreetype6-dev命令,然后重新执行第3步。

另一种方法:

# Grab source
hg clone https://bitbucket.org/pygame/pygame

# Finally build and install
cd pygame
python setup.py build
sudo python setup.py install

5
对我很有用。尽管如此,Pygame 在 PyPI 上没有一个合适的版本仍然有点儿傻。 - Cerin
1
在Ubuntu 14.10上,pip3 install hg+http://bitbucket.org/pygame/pygame与Python 3.4.2兼容,并且一旦安装了所有依赖项,它就可以正常工作。由于ffmpeg目前不可用作软件包,因此我必须首先从源代码构建它(需要更多的依赖项...),但是一旦完成了pygame的安装,它就像魔法般地运行。有趣的是,克隆repo并运行python3 setup.py build却无法正常工作,原因不明,但是pip可以。 - MattDMo
1
在我的系统上(运行在VirtualBox中的Ubuntu 15.10),第三个命令在克隆软件包后默默地等待我按Enter键。当我按下它时,安装过程立即开始。 - nfgf
2
我很困惑。为什么这个错误的操作系统会有这么多赞?OP正在使用Windows,所以sudo命令无法运行。 - Oddthinking
1
brew install homebrew/python/pygame - Madmint
显示剩余3条评论

22

尝试这样做:

sudo apt-get install mercurial
sudo pip install hg+http://bitbucket.org/pygame/pygame

18

需要更新此内容,因为在版本1.9.1中,只需使用以下命令安装:

pip install pygame

然而,看起来他们的pypi存储库存在一个错误,请参见: https://bitbucket.org/pygame/pygame/issues/59/pygame-has-no-pypi-page-and-cant-be

因此,如果您想要最新版本,必须直接指向ftp文件,例如:

pip install http://www.pygame.org/ftp/pygame-1.9.1release.tar.gz

我想这将在1.9.2版本中得到修复,但目前这个方法可行。

值得注意的是,Pratyush提供的答案也可以工作,但需要用户安装mercurial,并下载主干版本,因此不是理想的选择,除非您绝对需要它。


10
注意:我对Enthought Distribution不熟悉,所以这可能没有帮助。
由于您正在尝试在Windows上安装,如果您不想搞乱C编译器,可以在此处找到pygame的预构建二进制包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
选择适合您python版本[0]和Windows架构[1]的软件包。下载到C:\Users\User\Download\pip install E:\env\pygame-1.9.2a0-cp27-none-win_amd64.whl,然后使用pip install E:\env\pygame-1.9.2a0-cp27-none-win_amd64.whl进行安装。
如果要从源代码安装,请在同一页上找到Mercurial可执行文件。这种方法意味着您需要从源代码编译pygame,为此,您可能需要使用此编译器包
[0]python --version [1]powershell "gwmi win32_operatingsystem | select osarchitecture"

1
对于我在Windows上安装pygame来说,这是最简单的方法。谢谢! - Sebastiaan M
1
根据你的 Python 安装情况而不是系统架构,使用 32 位或 64 位。 - thoughtcrimes
这对我也起作用了。按照说明操作,从下载文件夹中下载软件包并安装。例如:pip install pygame-1.9.6-cp37-cp37m-win_amd64.whl - Doug J. Huras

7
下面的命令在我的Mac OS X El Capitan上有效:

pip3 install pygame


6

在MAC上安装:

brew install homebrew/python/pygame

1
我使用的是OS X EI Capitan操作系统,这个解决方案不起作用:/usr/local/include/pngconf.h:45:12: fatal error: 'stdio.h' file not found - Bin

5

我在 macOS Sierra 上遇到了这个问题,即 apt-get 无法使用。

通过以下步骤成功解决了该问题:

首先我需要通过 Brew 安装 Mercurial:

brew install mercurial

然后,我需要安装Pygame的依赖项:

brew install sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi

最后我使用pip3安装了Pygame:

pip3 install pygame

希望这有所帮助!

5

只需要

sudo pip install pygame

对我很有帮助


5

尝试

python3 -m pip install -U pygame --user

这在我使用Windows 7和Windows 10时成功了两次。


5

最新、最好的安装pygame的方法始终可以在以下网址找到: https://www.pygame.org/wiki/GettingStarted

如何使用pip取决于操作系统。所以除非你已经对15种不同的操作系统进行了更新和测试,否则只需将人们发送到该页面。这个问题的所有答案都针对不同的操作系统是错误的。

目前,对于Windows,在cmd提示符下这是安装它的方式。(如果您已经安装了pip,而且人们知道什么是pip...最好只是将人们发送到GettingStarted页面)。

py -m pip install pygame --user


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接