wmdeit-cf-wmdelib/python.cf

63 lines
948 B
CFEngine3
Raw Normal View History

#
bundle agent python39
{
vars:
debian::
"exe" string => "/usr/local/bin/python3.9";
centos::
"pkgs" slist => {"python3.9"};
"exe" string => "/usr/bin/python3.9";
}
bundle agent install_python39
{
methods:
# "any" usebundle => wmde_install_packages($(python39.pkgs),"python39");
}
bundle agent pip3
{
vars:
debian::
"pkgs" slist => {
# "python3-pip",
# "python3-venv"
};
"exe" string => "/usr/local/bin/pip3.9";
freebsd::
"pkgs" slist => {
"py39-pip"
};
"exe" string => "/usr/local/bin/pip3";
}
bundle agent install_pip3
{
methods:
"any" usebundle => wmde_install_packages(@(pip3.pkgs),"pip3"),
handle=>"pip3_installed";
}
bundle agent python_venv(name,user)
{
classes:
"venv_exists" expression => fileexists("$(name)");
methods:
"any" usebundle => install_pip3;
commands:
!venv_exists::
"su $(user) -c '$(python39.exe) -m venv $(name)'"
contain => wmde_cmd_useshell,
depends_on => {"pip3_installed"};
}