📅  最后修改于: 2020-12-26 12:41:22             🧑  作者: Mango
当您需要管理远程服务器上的Python库时,可以使用Ansible pip模块。
如果需要使用pip模块中的所有功能,则有两个先决条件。
注意:如果收到错误“找不到pip2,则无法使用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
要安装多个软件包,请对所有库设置“ name”参数,并用逗号分隔。
- hosts: all
tasks:
- name: Installing multiple python packages
pip:
name: NumPy,SciPy
有一个“版本”参数,该参数只能用于安装提到的库版本。在以下代码中,安装nltk库的版本。
- hosts: all
tasks:
- name: Installing a required version of python library
pip:
name: nltk
version: '3.0.0'
您可以使用“ 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库。在以下代码中,我们将从远程服务器中删除“ NumPy”和“ SciPy” Python库。
- hosts: all
tasks:
- name: Removing Python libraries
pip:
name: NumPy,SciPy
state: absent