【问题标题】:Where can I find and install the dependencies for pygame?我在哪里可以找到并安装 pygame 的依赖项?
【发布时间】:2021-11-01 05:06:54
【问题描述】:

我对 linux 比较陌生,正在尝试为 python 安装 pygame 开发环境。当我运行 setup.py 时,它说我需要安装以下依赖项,其中一个是我找到并安装的 (SDL)。然而,其他的则更加难以捉摸。

Hunting dependencies...
sh: smpeg-config: command not found
WARNING: "smpeg-config" failed!
SDL     : found 1.2.14
FONT    : not found
IMAGE   : not found
MIXER   : not found
SMPEG   : not found
PNG     : not found
JPEG    : not found
SCRAP   : found
PORTMIDI: not found
PORTTIME: not found

如果您能给我一些指导,我将不胜感激。

谢谢。

【问题讨论】:

  • 你做过apt-get update(不要与apt-get upgrade混淆)吗?当我在 Debian stable 以外的任何东西上运行时,我必须定期更新我的存储库。
  • 嗨 Wilduck,我最近才了解到这一点,并且之前已经这样做了。我担心我的 sources.list 可能不是最新的。目前它的内容如下: ----------------deb ftp.uk.debian.org/debian lenny main *************deb security.debian.org lenny/updates main- ------ 我添加了 * 和 - 符号来分隔源
  • 如果您认为您的 sources.list 可能已经过时,我建议您访问 superuser.com,他们将能够更好地帮助诊断问题。祝你好运。
  • 你可以参考这个汇编section

标签: python linux debian pygame


【解决方案1】:

$ sudo apt-get install python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev

或稍微排序:

sudo apt-get install \
  python-dev \
  python-numpy \
  subversion \
  ffmpeg \
  libsdl1.2-dev \
  libsdl-image1.2-dev \
  libsdl-mixer1.2-dev \
  libsdl-ttf2.0-dev \
  libavcodec-dev \
  libavformat-dev \
  libportmidi-dev \
  libsmpeg-dev \
  libswscale-dev \

【讨论】:

  • 如果将 python-dev 替换为 python3-dev 也适用于 pygame3
【解决方案2】:

看,基于 debian 的 dsitros 上最有用的工具之一:

apt-get build-dep python-pygame

安装构建 pygame 所需的所有依赖项 :)

在 Fedora 上:

yum-builddep package_name

【讨论】:

  • 这对我有用。这就是我所需要的,因为我正在使用 pip 安装 pygame
【解决方案3】:

对于 debian,有一个可用的预构建包。见here。您应该可以使用apt-get 或类似的方式安装它。

【讨论】:

  • 您好 Constantinius 我从链接站点下载了 .deb 并获得了许多不可用的依赖项。看起来我缺少 libsmpeg 和 libsdl,我以为我已经安装了 sdl。我想我的 sources.list 表中可能缺少一些链接,这就是为什么我缺少很多使用 apt-get 正常可用的包的原因
【解决方案4】:

这些步骤适用于 Ubuntu 16.04:

$ sudo apt-get install python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev   libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev

$ sudo pip3 install pygame

【讨论】:

    【解决方案5】:

    我的 Arch Linux 清单:

    sudo pacman -Sy sdl_ttf sdl_sound sdl_image sdl_mixer portmidi

    【讨论】:

    • 谢谢,我遇到了问题
    • @MichaelEnitan:这些依赖项是否足以让它工作?
    • @danukar:是的,他们是
    【解决方案6】:

    如果您运行受支持的 Linux 发行版之一 (see "Unix Distributions" section),您只需从存储库安装 pygame,并且还会安装依赖项。

    通常,您需要 SDL(libsdl 和朋友)、Python、Numpy。

    【讨论】:

    • Pygame 仍然难以捉摸,我今天会做更多的工作。我无法找到将什么源地址放入我的 sources.list 以获取 pygame。
    【解决方案7】:

    截至今天,在 ubuntu 20.04 上,我遇到了 SDL 缺失错误,并找到了一个解决方案,只是遇到了 freetype 错误,然后不得不重新安装,因为 python3 pip 命令中的 --user 选项让我无法访问该模块

    这是一个适用于我的 python 版本 3.8.2 的单行解决方案:

    sudo apt-get install python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev install libfreetype6-dev && python3 pip -m install -u pygame
    

    【讨论】:

    • 对我来说,在 Ubuntu 20.04 上,这些软件包就足够了:libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libportmidi-dev
    • 您的命令行中有一个额外的“安装”。
    【解决方案8】:

    我的是 Fedora-20,我发现这很有效:

    sudo yum install python-opengl
    sudo yum install python-devel SDL_image-devel SDL_mixer-devel SDL_ttf-devel SDL-devel smpeg-devel numpy subversion portmidi-devel 
    

    从网站下载了smpeg:

    http://freecode.com/projects/smpeg

    并进行了本地安装:

    sudo yum localinstall smpeg-0.4.5-2.1.x86_64.rpm 
    sudo yum install pygame pygame-devel
    

    【讨论】:

      【解决方案9】:

      我(debian buster,python2)最近尝试将 pygame 从 1.9.4 更新到 2.0.2,与此处给出的其他答案相比,似乎已经切换到更新的依赖项,例如从 libsdl1.2-devlibsdl2-dev.

      这是我需要为pip2 install --upgrade pygame 安装的东西才能顺利通过:

      sudo apt install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev libportmidi-dev
      

      【讨论】:

        猜你喜欢
        • 2013-01-24
        • 2017-06-12
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-07
        • 2016-03-04
        • 2019-09-13
        相关资源
        最近更新 更多