简单DirectMedia层

pycsdl2的Python项目详细描述


pycsdl2是cpython的低开销编译的SDL2绑定。它的目标是 提供熟悉的sdl2的c api,同时提供几个Pythonic特性 例如自动内存管理、边界检查和异常。

文档

文档在https://pycsdl2.readthedocs.org/上联机托管。

python api在docs/目录中用Sphinx记录。如果你 安装GNU Make和sphinx后,在^{tt1}中运行以下命令$ 在docs/_build/html/

中生成HTML文档的目录
make html

在windows上,make.bat可以用来代替gnu make。在中运行以下命令 生成HTML文档的docs/目录 docs/_build/html/

.\make.bat html

文档也可以用其他格式生成。查看的输出 make help.\make.bat help了解更多详细信息。

建筑

生成源代码需要安装cpython头文件。 这可能需要安装开发包,如 python3-dev在debian中。默认情况下,在 official Python distributions适用于Windows和Mac OS X。

在Windows和Mac OS X上,PycSD2将与 捆绑的SDL2源代码。因此,

在Linux等其他平台上,系统必须安装C编译器 以及安装的sdl2库和头文件。这可能需要 在debian上安装开发包,如libsdl2-dev。 此外,工作安装sdl2-configpkg-config必须 出现在可执行搜索路径中。PycSD2将被动态链接 到这些平台上的sdl2库。

一旦您的系统满足上述要求,请在 源目录的根目录:

python3 setup.py build

如果生成成功,则可以使用以下命令安装PYCSDL2:

python3 setup.py install

上面的构建行为可以通过环境变量控制 PYCSDL2_LIB

  • 将其设置为auto将使用默认行为。setup.py将生成 并链接到Windows和MacOSX上捆绑的SDL2源代码,以及 链接到其他平台上的系统sdl2库。
  • 将其设置为bundled将强制setup.py生成并链接 针对捆绑的sdl2源代码。
  • 设置为system将强制setup.py链接到系统的 SDL2库。sdl2-config将用于检索所需的编译 和链接标志,如果失败,将使用pkg-config
  • 设置为sdl2-configpkg-config将强制setup.py为 链接到系统的sdl2库,并且只使用sdl2-configpkg-config分别检索所需的编译和链接标志。

单元测试

单元测试使用unittest标准库模块实现。一次 pycsdl2是用python3 setup.py build构建的,您可以运行 在源目录的根目录中运行以下命令进行测试:

python3 -mtest

也可以通过在 test/目录:

python3 test/testfoo.py

理解源代码

源代码用Doxygen记录。如果你有工作 安装,只需在源目录的根目录中运行以下命令:

doxygen

html文档将被写入apidocs/html目录。

许可证

除非另有说明,否则,pycsdl2源代码是根据zlib授权的。 执照。

pycsdl2源代码包含 简单DirectMedia层(SDL)版本2.0.0源代码。源代码是 根据zlib许可证授权。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法更新Maven配置   Java中错误和异常的区别?   java从日期开始获得小时、分钟和秒?   使用jsonpath使用数组索引进行java解析   java如何从改造中读取json响应   Java:封装概念   Scala的java Play Framework:[类型控制器不是包控制器的成员]   java JPA Hibernate使用criteria builder生成的左连接被忽略   使用mvn测试版本号时,java Maven无法解析依赖项   java安卓的vitals和异常处理   java组织。springframework。网状物绑定参数的MissingServletRequestParameterException   java JSON解析在Android应用程序脱机时崩溃   java如何降低SmartMaterialSpinner的高度?   java有一种在使用矩阵时不拉伸位图的方法。位图上的polytoply()?   java arraylist有问题吗   java调用dispose()不会关闭JFrame   java主机环境安全   java是否产生/加入释放监视器锁?   java包含json文件并将其读入生成的maven中。jar文件