Python setup.py 脚本中,cmdclass 是一个关键字参数 build build_ext bdist_egg develop

在Python setup.py 脚本中,cmdclass 是一个关键字参数,它允许你指定自定义的构建命令类,这些类覆盖了 setuptools 提供的默认命令类。在你提供的 setup.py 脚本中,有四个自定义的命令类:

  1. build: 这个类继承自 setuptools.command.build._build,默认情况下,build 命令会编译源代码并准备分发。在这里,build 类被覆盖以使用 CMake 构建 dlib。

  2. build_ext: 这个类继承自 distutils.command.build_ext._build_ext,用于构建扩展模块。在 dlib 的 setup.py 中,build_ext 类被覆盖,但是实际上并没有执行构建操作,因为构建工作已经由 CMake 完成。

  3. bdist_egg: 这个类继承自 setuptools.command.bdist_egg._bdist_egg,用于创建一个 egg 分发包。bdist_egg 命令在 dlib 的 setup.py 中被覆盖,以便在创建 egg 包之前执行构建命令。

  4. develop: 这个类继承自 setuptools.command.develop._develop,用于安装开发版本,即安装一个 egg 链接到源代码。在 dlib 的 setup.py 中,develop 类被覆盖,以便在安装开发版本之前执行构建命令。

这些自定义命令类使得 dlib 的安装过程可以根据项目特定的需求进行定制。例如,dlib 需要使用 CMake 构建 C++ 代码,因此 build 命令类被用来配置和运行 CMake,然后从构建过程中获取构建好的 Python 扩展模块,并将它们放置在正确的位置以供 setuptools 使用。

ext_modules=[Extension('dlib', [])] 这行代码定义了一个空的扩展模块列表,因为实际的构建过程是由 CMake 完成的,而不是 setuptools 的构建系统。ext_package='dlib' 指定了扩展模块的Python包名。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值