一、本系列简介
自己根据《Python编程-从入门到实践》中的外星人入侵项目的指导,完成了这款游戏的搭建,在代码实现过程中遇到了一些问题,记录了自己的解决方法,供自己查看,若对您也有帮助,非常荣幸。
二、本文简介
主要记录了在macOS系统上安装pygame遇到的问题及解决方案
三、安装pygame(macOS)
书是16年第一版的,执行下述代码时,会因为有些库太旧了,无法安装
brew install hg sdl sdl_image sdl_ttf
1. hg库
hg库是一个跨平台的分布式版本控制软件,与git类似,主要是用来后面安装pygame的。现在可以不通过hg来安装了,hg库可以不安装
2. sdl库
SDL(Simple DirectMedia Layer) 是一个跨平台的游戏开发库,方便游戏开发和移植。
问题现象:基于上述brew指令,安装sdl库时会报错:Warning: Formula sdl was renamed to sdl12-compat.
原因:sdl库太老了,已更名为sdl12-compat
解决方案:
brew install sdl12-compat
3. sdl_image库
问题现象:基于上述brew指令,安装sdl_image库时会报错:Error: sdl_image has been disabled because it is deprecated upstream!
原因:sdl_image太老,已经被废弃
解决方案:
brew install sdl2-image
4. sdl_ttf库
问题现象:基于上述brew指令,安装sdl_ttf库时会报错:sdl_ttf has been disabled because it is deprecated upstream!
原因:同sdl_image
解决方案:
brew install sdl2-ttf
5. 安装pygame
pygame 是对 SDL库的python 封装,提供python接口。
问题现象:终端中直接执行pip3 install pygame时报错。
原因:表明 Python 环境正由操作系统的包管理器或其他环境管理器管理,使用 pip 直接安装包被限制,以防止冲突或问题。
解决方案:创建python的虚拟环境,在虚拟环境中安装
// 在当前目录下创建了一个虚拟环境,名叫alieninvasionenv
python3 -m venv alieninvasionenv
// 启动虚拟环境,执行成功后,终端命令行前会有当前虚拟环境的显示
source alieninvasionenv/bin/activate
// 安装pygame
pip3 install pygame
安装成功,就可以开始写游戏了