我有一个pip样式的requirements.txt文件,用于跟踪我的python依赖项,我将我的开发环境移动到vagrant + puppet。到目前为止,我一直在使用内置于puppet的pip提供程序来安装这样的单个包:
package {
["django", "nose"]:
ensure => present,
provider => pip
}
是否可以传入我的requirements.txt并让puppet在文件发生变化时保持包更新?
答案 0 :(得分:8)
是的,这是可能的。而不是定义包资源,而是定义一个“exec”资源,它将把requirements.txt作为变量并运行pip install命令。
E.g。
class pip_install(
$path_requirements_file,
){
exec { "pip_requirements_install":
command => "pip install -r ${path_requirements_file}",
refreshonly => true,
}
}