安装

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

要求

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

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

CentOS 8

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

Ubuntu 16.x版

$ sudo apt update
$ sudo apt 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]"

分子默认使用“委托”驱动程序。其他驱动程序可以与PyPI分开安装,例如分子对接器驱动程序。如果您希望使用docker作为分子驱动程序,安装命令将如下所示:

$ 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

分子被构建成码头工人的形象 Toolset 项目。

与容器中分子的使用相关的任何问题或错误都应该由工具集项目来解决。

源码

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

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

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

警告

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

要求

CentOS 8

$ sudo dnf install -y libffi-devel git

Ubuntu 16.x版

$ sudo apt install -y libffi-dev git

安装

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