# 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"}; }