跳到内容

安装

本文档假设开发者具备 Python 包管理的基础知识,以及如何在执行 Molecule 的系统上安装和管理 Python。

需求

  • ansible-core >= 2.12

根据选择的驱动程序,您可能需要安装额外的操作系统包。

  • Python >= 3.10
$ sudo dnf install -y gcc python3-pip python3-devel openssl-devel python3-libselinux
$ sudo apt update
$ sudo apt install -y python3-pip libssl-dev

Pip

pip 是唯一支持的安装方法。

推荐

安装 molecule推荐方法是使用 ansible-dev-tools 包。Ansible 开发工具旨在简化创建Ansible内容所需的一些工具的设置和使用。它将关键的 Ansible 开发包组合到一个统一的 Python 包中。

# This also installs ansible-core if it is not already installed
pip3 install ansible-dev-tools
$ python3 -m pip install molecule ansible-core

请记住,在支持 selinux 的系统上,如果您安装到虚拟环境中,即使 selinux 未启用或配置为宽松模式,您也可能遇到问题 34340

您有责任确保 Ansible 的软依赖项在您的控制器或主机机器上可用。

警告

强烈建议您在虚拟环境中安装 molecule。这将提供一个现代版本的setuptools,这是成功安装和正确运行 molecule 的必要条件。如果您无法使用虚拟环境,则可以使用以下方法尝试升级软件包

$ python3 -m pip install --upgrade --user setuptools

需求

根据选择的驱动程序,您可能需要安装其他 Python 包。在这种情况下,请参阅驱动程序的文档。

安装

安装 Molecule

$ python3 -m pip install --user molecule

Molecule 不包含 ansible-lint(lint extra 也不包含),但可以轻松地单独安装。

$ python3 -m pip install --user molecule ansible-lint

Molecule 默认使用“delegated”驱动程序。其他驱动程序可以从 PyPI 单独安装,其中大部分包含在molecule-plugins包中。如果您想使用 podman 作为 molecule 驱动程序,安装命令如下所示

$ python3 -m pip install --user "molecule-plugins[podman]"

警告

如果您从以前的版本升级 molecule,请确保删除以前安装的驱动程序,例如 molecule-podmanmolecule-vagrant,因为这些现在都包含在 molecule-plugins 包中。

安装 molecule 包还会安装其主脚本 molecule,通常位于 PATH 中。用户应该知道,molecule 也可以作为 python 模块调用,使用 python3 -m molecule ...。这种替代方法有一些好处

  • 允许明确控制 molecule 使用哪个 Python 解释器
  • 允许在用户级别安装 molecule,甚至不需要将脚本放在 PATH 中。

容器

MoleculeAnsible Creator 执行环境项目 creator-ee 构建到容器镜像中。

任何与从容器内使用 Molecule 相关的问题或错误都应由 Ansible Creator 执行环境项目解决。

源码

由于此工具的快速开发速度,您可能需要从 Git 安装和更新 Molecule 的最新版本。请按照以下说明进行初始安装和后续更新。

您将获得安装的包分发将是自动生成的,并将包含提交哈希信息,使其更容易参考。

需求

$ sudo dnf install -y libffi-devel git
$ sudo apt install -y libffi-dev git
安装
$ python3 -m pip install -U git+https://github.com/ansible-community/molecule