首先解释下sdl2这个库的用处;

引用维基百科中的描述:https://zh.wikipedia.org/wiki/SDL

SDL(英语:Simple DirectMedia Layer)是一套开放源代码跨平台多媒体开发,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X

等)的应用软件。当前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

在做视觉slam时,搭建的脚本用的是python语言,其中需要调用sdl2这个多媒体库;

import sdl2 时提示不存在该库;

我用的是win下anaconda的 Anaconda Prompt控制台窗口;

使用 conda install sdl2 或者pip install sdl2都不可行;

搜寻网上资料,整理的解决方法如下:

方式一:

conda命令安装;安装指令如下:

conda install -c conda-forge sdl2

conda install -c conda-forge/label/gcc7 sdl2 

conda install -c conda-forge/label/cf201901 sdl2

参考anaconda官网的说法:https://anaconda.org/conda-forge/sdl2

 方法二:

下载sdl2的python编译安装文件,或者下载sdl2源码自行编译;

我下载的是该文件PySDL2-0.9.5zip (https://bitbucket.org/marcusva/py-sdl2/downloads/),然后解压,切到解压后的目录下,发现有个setup.py文件,

window 下在anaconda prompt窗口运行如下指令来安装,则OK(该方法亲测可行!):

python setup.py install

参考:Installing PySDL2

 安装完sdl2,然后在python下import,没有报错。

补充资料:

Linux下安装sdl2

apt-get install libsdl2-dev
 
apt-get  libsd2-image-dev
 
apt-get   libsd2-ttf-dev
 
apt-get   libsd2-mixer-dev

sdl2.ext相应资料(python接口)参考:https://programtalk.com/python-examples/?api=sdl2.ext