Ansible - pip3 설치 실패

Ansible - pip3 설치 실패

CentOS 7에 Ansible을 설치하려고 하며 Python 3을 사용하도록 Ansible을 구성했습니다. Python2와 Python3을 모두 설치했습니다.

[root@ansible1 ~]# python --version
Python 2.7.5
[root@ansible1 ~]# python3 --version
Python 3.6.8

를 사용하여 Ansible을 설치하면 yum install ansible명령 ansible --version에 Ansible이 Python 2.7.5를 사용하도록 구성되어 있음이 표시됩니다. Ansible( yum remove ansible) 을 제거합니다 .

[root@ansible1 ~]# ansible --version
ansible 2.9.10
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

에 따르면https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html:

Python 3에서 /usr/bin/ansible을 실행하는 가장 쉬운 방법은 Python3 버전의 pip와 함께 설치하는 것입니다. 그러면 기본 /usr/bin/ansible이 Python3에서 실행됩니다.

pip 버전 9.0.3이 설치되어 있습니다.

[root@ansible1 ~]# pip3 --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

Ansibles 문서에 따라 pip3을 사용하여 Ansible을 설치하려고 합니다 pip3 install ansible.

[root@ansible1 ~]# pip3 install ansible
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting ansible
  Using cached https://files.pythonhosted.org/packages/4b/69/c8aef60ce070fe6872e27db65f588bd0ffe8892a980cd3f4d844d8b72152/ansible-2.9.12.tar.gz
Requirement already satisfied: jinja2 in /usr/local/lib64/python3.6/site-packages (from ansible)
Requirement already satisfied: PyYAML in /usr/local/lib64/python3.6/site-packages (from ansible)
Requirement already satisfied: cryptography in /usr/local/lib64/python3.6/site-packages (from ansible)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib64/python3.6/site-packages (from jinja2->ansible)
Requirement already satisfied: six>=1.4.1 in /usr/local/lib/python3.6/site-packages (from cryptography->ansible)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/local/lib64/python3.6/site-packages (from cryptography->ansible)
Requirement already satisfied: pycparser in /usr/local/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography->ansible)
Installing collected packages: ansible
  Running setup.py install for ansible ... done
Successfully installed ansible-2.9.12

다음은 명령의 출력입니다 pip3 show ansible.

[root@ansible1 ~]# pip3 show ansible
Name: ansible
Version: 2.9.12
Summary: Radically simple IT automation
Home-page: https://ansible.com/
Author: Ansible, Inc.
Author-email: [email protected]
License: GPLv3+
Location: /usr/local/lib/python3.6/site-packages
Requires: jinja2, PyYAML, cryptography

그러나 ansible --version명령은 다음을 반환합니다.

-bash: /bin/ansible: No such file or directory

비슷하게, /usr/bin/ansible --version:

-bash: /usr/bin/ansible: No such file or directory

pip show ansible명령은 위치가 임을 보여줍니다 /usr/local/lib/python3.6/site-packages/ansible. 이 디렉토리는 존재하며 많은 파일과 폴더를 포함하지만 사용할 수 있는 Ansible 특정 구성 파일(예: ansible.cfg)이나 바이너리 파일(예: ansible)은 없습니다.

답변1

세게 때리다명령에 대한 경로를 캐시합니다., 명령이 재배치되면 (귀하의 경우처럼) 해당 캐시가 지워지지 않는 한 bash는 명령을 선택하지 않습니다.

ansible다음을 사용하여 캐시를 지울 수 있습니다 .

hash -d ansible

또는 다음을 사용하여 전체 캐시를 지웁니다.

hash -r

관련 정보