当前位置: 首页 > 面试题库 >

如何子类化构建命令?

谢昊乾
2023-03-14
问题内容

该主题是自描述性的:我需要对setup.py build命令进行子类化才能执行其他构建步骤。但是我没有找到任何build要继承的命令类。我一直在尝试:

class BuildCommandProxy(setuptools.command.build):
    pass

class BuildCommandProxy(distutils.command.build):
    pass

乃至:

class BuildCommandProxy(setuptools.distutils.command.build):
    pass

没有任何成功。

UPDATE
:寻找如何实现像这样用setuptools

UPDATE2 :我有一些自定义命令实现:

class CustomCommand(setuptools.Command):
    # ...

我要实现的是通过以下命令来实现cmdclass

cmdclass={
    "build": CustomCommand,
}

然后在执行一些自定义步骤后调用buildin中的原始文件CustomCommand.run


问题答案:

Setuptools不会覆盖distutils build命令本身。只有build_pybuild_ext子命令。

因此,要创建自己的子类,您需要从distutils.command.build 模块中
导入,其中包含一个build类(的子类Command):

import distutils.command.build

class BuildCommandProxy(distutils.command.build.build):
    pass


 类似资料:
  • 我面临一个生成器类继承的序列化问题。如下所示: 基类: 我看到以下例外: 有人知道如何避免这个问题吗?

  • 所有的构建命令,都会通过NPM脚本执行。 npm run dev 启动一个Node.js本地开发服务器。在 开发环境代理api中查看更多细节。 Webpack + vue-loader 来处理Vue单文件组件 状态支持热更新 状态支持浮层显示编译错误 在保存的时候,通过ESLint做语法检测 可以开启Source maps npm run build 构建生产环境的资源. 在 整合后端框架 查看更

  • 我在某个地方读到boost的序列化库必须被编译(我忘了在哪里读的,否则我会发布链接)。 因此,我从source forge下载了最新版本,并将其提取到我项目中的一个路径中。现在呢? 编辑:尽管如此,我试图使用它,但没有编译它,但我得到了这个错误: 所以我认为原因是,它没有被编译。对吗?

  • 我有一个Maven项目https://github.com/paulvi/MavenMultiModule1 用根pom.xml 我希望能够分别构建子系统, 例如,和 两个配置文件都可见,但无法使用开关激活 和其他项目一起工作 这里缺少什么来激活配置文件或者构建子系统的更好方法? 我已经阅读了如何激活从属模块中的Maven配置文件?

  • 问题内容: 我有一个包含117000左右记录的表。我需要执行一个搜索,检查给定字符串模式的3个单独字段。 我的where子句如下: 无论输入什么,这似乎都需要大约24秒的时间… 有一个更好的方法吗?少于10(或5!)秒将是更可取的。 谢谢你的帮助。 问题答案: 使用全文搜索和CONTAINS。在字段中间进行搜索时,无法优化LIKE。当LIKE表达式以’%’开头时,它将始终进行全表扫描。

  • 我有一个gradle多项目构建,每个子项目都在单独的git存储库中。在根项目的build.gradle,我试图为所有子项目定义一个任务,它将为每个项目执行一些git命令。但是,任务的工作目录始终是根项目的工作目录。 如何根据当前执行任务的子项目更改workingDir?

  • 当我们实例化子类对象时,父类的构造函数也会被调用。那么它是父类的对象的创建吗?

  • 我试图使用java processbuilder执行以下命令 ls|xargs猫 目前我的代码是 当前执行时不会出现错误,但不会创建新文件。 我已经尝试了下面的另一篇文章:使用JavaProcessBuilder执行管道命令的问题 该命令执行,但创建一个0字节的文件。