Anisible pip3安装继续在远程服务上失败(在远程主机中找不到setuptools,请先安装它)

hon*_*ute 6 pip python-3.x ansible

我正在尝试设置我的远程服务器,并让Anisble安装所需的软件包。在我看来,playbook.yml一切正常,除非它尝试requirments.txt仅安装在一台远程服务器上。它给了我以下错误:

FAILED! => {"changed": false, "msg": "No setuptools found in remote host, please install it first."}
Run Code Online (Sandbox Code Playgroud)

是的,我确实setuptools安装在远程主机上。

# pip3 show setuptools
Name: setuptools
Version: 40.4.3
Summary: Easily download, build, install, upgrade, and uninstall Python packages
Home-page: https://github.com/pypa/setuptools
Author: Python Packaging Authority
Author-email: distutils-sig@python.org
License: UNKNOWN
Location: /usr/lib/python3.6/site-packages
Requires:
Required-by: pipenv
Run Code Online (Sandbox Code Playgroud)

不知道为什么在使用pip3进行安装时甚至需要setuptools。

这是我的剧本摘要:

- name: Install requirements
  pip:
    requirements: /.supv/bridge_modules/requirements.txt
    executable: pip3
Run Code Online (Sandbox Code Playgroud)

似乎在其他远程主机上工作正常,只是这有问题。我尝试卸载setuptools并重新安装,仍然没有运气。有任何想法吗?

jwo*_*der 6

Ansible需要为用于运行Ansible模块的Python版本安装setuptools,默认情况下为Python2。因此,您需要运行pip2 install setuptools或等效版本才能在Python 2中安装setuptools。

  • @ user10067412:将“ ansible_python_interpreter”设置为Python 3的路径。 (5认同)

小智 5

必须为 Ansible Python 解释器和此选项指定的 Python 版本安装 setuptools 包。

这意味着您必须安装 python2 和 python3 的 setuptools。这是我在 pip install 之前的代码:

    - name: install python-setuptools
      package:
        name: python-setuptools
        state: present
Run Code Online (Sandbox Code Playgroud)