📜  Ansible点

📅  最后修改于: 2020-12-26 12:41:22             🧑  作者: Mango

Ansible点

当您需要管理远程服务器上的Python库时,可以使用Ansible pip模块。

如果需要使用pip模块中的所有功能,则有两个先决条件。

  • pip软件包应该已经安装在远程服务器上。
  • 如果需要在Python虚拟环境中管理软件包,则应该已经将Virtualenv软件包安装在远程服务器上。

注意:如果收到错误“找不到pip2,则无法使用pip。需要安装pip”。在执行期间,远程服务器上的pip模块不可用。

安装Pip模块

要安装新的Python库,您需要针对“ name”参数设置包的名称。默认情况下,“ state”参数为“ present”,模块将尝试安装该库。

如果已安装该库,则将不会执行任何操作。并且,如果存在该库的新版本,则不会对其进行升级。

- hosts: all
  tasks:
  - name: Installing NumPy python library using pip module
    pip:
      name: NumPy

使用需求文件进行安装

安装库的另一种方法是通过需求文件。如果远程服务器上的所有库都有任何需求文件,请将其作为“需求”参数的输入。

另外,您可以预先使用复制模块将需求文件复制到每个远程服务器。在以下代码中,将需求文件安装在location / tmp / req.txt中。

- hosts: all
  tasks:
  - name: Installing python libraries using requirements file
    pip:
      requirements: req.txt
      chdir: /tmp

req.txt
-------
nltk==3.0.0
numpy<2.0.0 scipy>=1.0.0

安装多个Python库

要安装多个软件包,请对所有库设置“ name”参数,并用逗号分隔。

- hosts: all
  tasks:
  - name: Installing multiple python packages
    pip:
      name: NumPy,SciPy

安装特定版本的Pip库

有一个“版本”参数,该参数只能用于安装提到的库版本。在以下代码中,安装nltk库的版本。

- hosts: all
  tasks:
  - name: Installing a required version of python library 
    pip:
      name: nltk
      version: '3.0.0'

重新安装Python库

您可以使用“ state”参数的“ forcereinstall”值来重新安装Python库。

这将重新安装该库的最新版本。您可以与其一起使用“版本”参数。以下代码将安装nltk库的3.0.0版本。

- hosts: all
  tasks:
  - name: Reinstalling a python library 
    pip:
      name: nltk
      version: 3.0.0
      state: forcereinstall

删除Python库

您可以通过将状态更改为“不存在”来删除Python库。在以下代码中,我们将从远程服务器中删除“ NumPy”和“ SciPy” Python库。

- hosts: all
  tasks:
  - name: Removing Python libraries
    pip:
      name: NumPy,SciPy
      state: absent