pygame-community/pygame-ce

GitHub: pygame-community/pygame-ce

pygame-ce 是 pygame 的社区版分支,基于 SDL 提供 Python 跨平台多媒体与游戏开发能力,以更快的发布节奏和民主治理模式持续改进原项目。

Stars: 1546 | Forks: 247

.. image:: https://raw.githubusercontent.com/pygame-community/pygame-ce/main/docs/reST/_static/pygame_ce_logo.svg :width: 800 :alt: pygame :target: https://pyga.me/ |DocsStatus| |PyPiVersion| |PyPiLicense| |Python3| |GithubCommits| |BlackFormatBadge| ## |DiscordBadge| Pygame_ 是一个免费的开源跨平台库,用于使用 Python 开发视频游戏等多媒体应用程序。 它使用 `Simple DirectMedia Layer library`_ 和其他几个流行的库来抽象最常用的功能,使编写这些程序成为一项更直观的任务。 本发行版被称为 **'pygame - Community Edition'**(简称 'pygame-ce')。 它是原 pygame 项目的前核心开发者创建的一个分支,由于遇到了无法克服的挑战,阻碍了他们在原项目上的继续开发,因此创建了这个分支。 新发行版旨在提供更频繁的发布、持续的 bug 修复和增强功能,以及更民主的治理模式。 ## 安装 要安装 pygame-ce,首先请确保你已安装 Python(和 pip),并且它们可用在你的 PATH 中。 然后,在你的终端或命令提示符中运行以下命令: :: pip install pygame-ce 请注意,在某些平台上,你可能需要使用 ``pip3`` 而不是 ``pip``。 ### Linux 注意事项:“Breaking System Packages” 错误 在某些 Linux 发行版(如 Ubuntu 或 Debian)上,使用 ``pip`` 安装 Python 包可能会触发类似以下的消息: :: error: externally-managed-environment This environment is externally managed when system packages are installed. 这意味着你的系统 Python 是由操作系统管理的,全局使用 ``pip3`` 可能会干扰系统包。 ## 推荐解决方案 1. 使用 ``venv``(虚拟环境): 你可以创建一个虚拟环境并在其中安装 pygame-ce。 这样你仍然可以使用系统 Python,但会为安装的包创建一个独立的环境,从而使它们不会与系统包发生冲突或破坏系统包。 .. code-block:: bash python3 -m venv venv # create a venv named 'venv' source venv/bin/activate # activate venv pip install pygame-ce # install packages in venv 2. 使用 ``pyenv``(用户级 Python 管理): `pyenv `_ 允许你在用户级别安装和管理自己的 Python 版本,而无需触及系统 Python。 另外,你还可以并行安装和使用多个 Python 版本。 3. 使用 ``uv``(快速现代包安装器): `uv `_ 是一个现代、快速的 Python 包和环境管理器,可以作为 ``venv`` 和 ``pyenv`` 的替代品。 ## 帮助 如果你刚刚开始使用 pygame,你应该能够很快上手。Pygame 提供了许多教程和介绍。整个库还有完整的参考文档。请在 `docs page`_ 上浏览文档。你也可以在终端中运行 ``python -m pygame.docs`` 在本地浏览文档。如果在本地找不到文档,它将改为启动在线网站。 在线文档与 github 上 pygame 的开发版本保持同步。这可能会比你正在使用的 pygame 版本稍微新一些。要升级到最新的正式版本,请在你的终端中运行 ``pip install pygame-ce --upgrade``。 最棒的是,examples 目录中有许多可运行的小程序,可以让你立即开始尝试代码。 ## 从源码构建 如果你想使用目前正在开发的功能,或者想为 pygame-ce 做贡献,你需要从其源代码在本地构建 pygame-ce,而不是通过 pip 安装。 从源码安装是相当自动化的。大部分工作将涉及编译和安装所有的 pygame 依赖项。完成这些后,运行 ``setup.py`` 脚本,它将尝试自动配置、构建和安装 pygame。 关于安装和编译的更多信息可以在 `Compilation wiki page`_ 上找到。 ## 依赖项 显然,Pygame 强依赖于 SDL 和 Python。它还链接并嵌入了几个其他小型库。font 模块依赖于 SDL_ttf,而后者依赖于 freetype。mixer(和 mixer.music)模块依赖于 SDL_mixer。image 模块依赖于 SDL_image。Transform.rotozoom 具有内嵌版本的 SDL_rotozoom,而 gfxdraw 具有内嵌版本的 SDL_gfx。 依赖项版本: +----------+------------------------+ | CPython | >= 3.10 (Or use PyPy3) | +----------+------------------------+ | SDL | >= 2.0.14 | +----------+------------------------+ | SDL_mixer| >= 2.0.4 | +----------+------------------------+ | SDL_image| >= 2.0.4 | +----------+------------------------+ | SDL_ttf | >= 2.0.15 | +----------+------------------------+ ## 许可证 **许可证标识:** LGPL-2.1-or-later 本库基于 `GNU LGPL version 2.1`_ 分发,该协议可在 ``docs/LGPL.txt`` 文件中找到。我们保留在未来版本中将本库置于不同许可证下的权利。 这基本上意味着你可以在任何你想要的项目中使用 pygame,但如果你对 pygame 本身进行了任何更改或添加,则必须使用兼容的许可证发布(最好提交回 pygame-ce 项目)。闭源和商业游戏也是可以的。 ``examples`` 子目录中的程序位于公共领域。有关依赖项的许可证,请参见 docs/licenses。 .. |PyPiVersion| image:: https://img.shields.io/pypi/v/pygame-ce.svg?v=1 :target: https://pypi.python.org/pypi/pygame-ce .. |PyPiLicense| image:: https://img.shields.io/pypi/l/pygame-ce.svg?v=1 :target: https://pypi.python.org/pypi/pygame-ce .. |Python3| image:: https://img.shields.io/badge/python-3-blue.svg?v=1 .. |GithubCommits| image:: https://img.shields.io/github/commits-since/pygame-community/pygame-ce/2.5.6.svg :target: https://github.com/pygame-community/pygame-ce/compare/2.5.6...main .. |DocsStatus| image:: https://img.shields.io/website?down_message=offline&label=docs&up_message=online&url=https%3A%2F%2Fpyga.me%2Fdocs%2F :target: https://pyga.me/docs/ .. |BlackFormatBadge| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black .. |DiscordBadge| image:: https://discord.com/api/guilds/772505616680878080/widget.png :target: https://pyga.me/discord .. _Pygame: https://pyga.me .. _Simple DirectMedia Layer library: https://www.libsdl.org .. _Compilation wiki page: https://github.com/pygame-community/pygame-ce/wiki#compiling .. _docs page: https://pyga.me/docs .. _GNU LGPL version 2.1: https://www.gnu.org/copyleft/lesser.html .. _Contribution Guidelines: https://github.com/pygame-community/pygame-ce/wiki/Contribution-guidelines .. _Many Ways to Contribute: https://github.com/pygame-community/pygame-ce/wiki/Many-ways-to-contribute .. _Opening A Pull Request: https://github.com/pygame-community/pygame-ce/wiki/Opening-a-pull-request .. _Opening a Great Pull Request: https://github.com/pygame-community/pygame-ce/wiki/Opening-a-great-pull-request .. _issue tracker: https://github.com/pygame-community/pygame-ce/issues .. _label and link reported issues: https://github.com/pygame-community/pygame-ce/wiki/Labelling-&-linking-reported-issues .. _Pygame Community Discord Server: https://pyga.me/discord .. _wiki pages: https://github.com/pygame-community/pygame-ce/wiki
标签:Python, SDL, 多媒体, 客户端加密, 开源库, 搜索引擎爬虫, 无后门, 游戏开发, 逆向工具