【发布时间】:2020-10-02 02:30:59
【问题描述】:
我正在使用pyinfra 来配置一些文件。我想知道放置自定义模块的最佳位置。
示例
给定一个自定义事实,如果系统不是无头的,则返回 True:
class HasGui(FactBase):
default = list
command = 'ls /usr/share/xsessions/*.desktop || true'
def process(self, output):
return output
问题
我把这个放在哪里?我想我可以将这个 sn-p 直接编码到一个“操作”文件中,但是如果我想在几个模块中重用这个代码怎么办?如何将其抽象为单独的模块或从 API 访问它?
虽然data can be shared across modules,推荐的layout 似乎不允许自定义模块挂接到API。
方法
- 我尝试创建一个单独的任务级模块,但在命令行调用时无法识别。
- 最后的手段可能是添加
sys.path的路径,但我更喜欢更简洁的选项。
【问题讨论】:
标签: python provisioning pyinfra