安装

本文假设开发人员对python打包有基本的了解,以及如何在系统上安装和管理python。

要求

根据所选的驱动程序,您可能需要安装其他操作系统软件包。看到了吗 INSTALL.rst ,它是在初始化新方案时创建的。

  • Python>=3.6,并且 Ansible >= 2.8

CentOS 8

$ sudo yum install -y gcc python3-pip python3-devel openssl-devel python3-libselinux

Ubuntu 16.x版

$ sudo apt-get update
$ sudo apt-get install -y python3-pip libssl-dev

Pip

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

警告

Ansible没有被列为molecular包的直接依赖项,因为我们只把它称为命令行工具。您可能需要使用分发包安装程序安装它。如果您还想安装兼容版本的ansible,请使用提供的 ansibleansible-base 额外费用:

$ python3 -m pip install "molecule[ansible]"  # or molecule[ansible-base]

请记住,在selinux支持系统上,如果安装到虚拟环境中,可能会遇到 issue 即使selinux未启用或配置为允许。

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

警告

强烈建议您将Molecule安装在 virtual environment . 这将提供 setuptools 这是必须的,以便Molecule安装成功和功能正常。如果无法使用虚拟环境,则可以尝试使用以下内容升级包:

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

警告

pipv19系列具有 isolation bug 对包build env公开的setuptools。这就是为什么强烈建议升级用户setuptools的原因,即使在使用正确的virtualenv时也是如此,如上图所示。

要求

根据所选的驱动程序,您可能需要安装其他python包。请参阅驱动程序文档或 INSTALL.rst ,它是在初始化新方案时创建的。

安装

安装 Molecule:

$ python3 -m pip install --user "molecule[lint]"

默认情况下,Molecule使用“委托”驱动程序。其他驱动程序可以与PyPI分开安装,比如molecular docker驱动程序。如果要使用docker作为Molecule驱动程序,安装命令如下所示:

$ python3 -m pip install --user "molecule[docker,lint]"

其他驱动程序,例如 molecule-podmanmolecule-vagrantmolecule-azuremolecule-hetzner 也有。

安装 molecule 包还安装了它的主脚本 molecule ,通常在 PATH . 用户应该知道,molecule也可以被称为python模块,使用 python -m molecule ... . 这种替代方法有一些好处:

  • 允许显式控制Molecule使用哪个python解释器

  • 允许在用户级安装Molecule,甚至不需要在 PATH .

注解

我们也有一个连续的预发布过程,这是提供早期采用和反馈的目的。可从 test.pypi.org/project/molecule 并且可以这样安装:

python3 -m pip install \
  --index-url https://test.pypi.org/simple \
  --extra-index-url https://pypi.org/simple \
  molecule==2.21.dev46

哪里 2.21.dev46 是最新的预发布版本。请检查一下房间 release history 可用版本的列表。

Docker

我们通过 quay.io 以下标签可用的位置:

  • latest :最新的主分支生成,应视为不稳定

  • 2.20 :基于Git的标记

  • 2.20a1 :预发布标签

请看 tags listing 获取可用标记。

请看 在容器内运行 供使用。

源码

由于这个工具的开发速度很快,您可能需要从Git安装并更新Molecule的最新版本。

按照以下说明进行初始安装和后续更新。

您将安装的包发行版将自动生成,并包含提交哈希信息,以便在需要发送错误报告时更容易引用某些不稳定的版本。

警告

请避免使用 --editable/-e development mode 安装带有Pip的Molecule时。这不是很好的支持,只有在进行开发时才需要。出于贡献的目的,您可以依赖tox命令行界面。请看 our testing guide 更多详情。

要求

CentOS 8

$ sudo yum install -y libffi-devel git

Ubuntu 16.x版

$ sudo apt-get install -y libffi-dev git

安装

$ python3 -m pip install -U git+https://github.com/ansible-community/molecule