Ansible Pip
Ansible Pip
Ansible pip 模块用于管理远程服务器上的python 库。
如果需要使用,有两个先决条件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 库。
这将重新安装库的最新版本。您可以将"版本"参数与它一起使用。以下代码将安装 3.0.0 版的 nltk 库。
-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