zsh:找不到命令:安装 pip 后的 ansible

问题描述 投票:0回答:8

我已经按照 ansible 文档的建议使用 pip 在我的 Mac 上安装了 ansible: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-macos

但是,当我尝试运行 ansible 时,我得到以下信息:

zsh: command not found: ansible

我之前安装ansible的时候从来没有遇到过这个问题。

pip-installing 再次告诉我它已经安装在站点包下:

Requirement already satisfied: ansible in ./Library/Python/3.8/lib/python/site-packages (2.9.11)

我在 ~/.zshrc 中的 python 安装指向:

# Add user python 3.7 to path
export PATH="/usr/local/opt/python/libexec/bin:$PATH"

对某些人来说可能是显而易见的,但我不明白为什么这个简单的安装不起作用..

macos ansible
8个回答
44
投票

python3 -m pip install --user ansible
安装ansible后,我搜索了ansible二进制文件,发现它被下载到
~/Library/Python/3.8/bin
中。最简单的方法是解决这个问题:

$ cd ~
$ find . | grep ansible
<lines omitted>
./Library/Python/3.8/bin/ansible
<lines omitted>

从那里,它非常简单,只需更新你的 .bash_profile 或 .zshrc

export PATH="/path/to/Library/Python/3.8/bin:$PATH"

你应该可以走了:

$ source ~/.zshrc
$ ansible --version
ansible 2.10.8
  config file = None
  configured module search path = ['/Users/dbove/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']

27
投票

brew install ansible

brew link ansible


6
投票

以下命令对我有用:

卸载ansible

sudo pip 卸载 ansible

然后使用安装(注意:-H 标志在这里很重要,它将 HOME 变量设置为目标用户的主目录)

sudo -H pip3 安装ansible

使用检查版本

ansible --版本


5
投票

安装后如下:

python3 -m pip install --user ansible

编辑.zshrc:

export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin:$PATH

你应该添加

$HOME/.local/bin


2
投票

卸载ansible

sudo pip uninstall ansible

然后使用pip3安装
sudo pip3 install ansible

使用
ansible --version
检查版本。

ansible 2.10.3

注意:确保您已安装 pip3,如果没有,请使用
brew install python3
安装

1
投票

我看到了同样的错误,我缺少 ansible-lint

brew install ansible
brew install ansible-lint

0
投票

我有多个 ansible 实例。我按照以下步骤纠正了 ansible 命令未找到错误。

  1. 卸载旧的/所有 ansible 实例
python3 -m pip uninstall ansible
python3 -m pip uninstall ansible-core
  1. 查找 ansible 的所有实例
cd ~
find . | grep ansible
  1. 删除步骤 2 中的所有目录
rm -rf /usr/local/lib/python3.6/site-packages/ansible*
rm -rf /root/.local/lib/python3.6/site-packages/ansible
rm -rf ./.ansible
rm -rf ./.local/lib/python3.6/site-packages/ansible_test
  1. 再次安装ansible
sudo yum install python3-pip 
pip3 install ansible
pip3 install openshift
  1. 验证
pip3 list  | grep ansible
ansible (4.8.0)
ansible-core (2.11.6)
ansible --version
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8 (default, Sep 12 2021, 04:40:35) [GCC 
8.4.1 20200928 (Red Hat 8.4.1-1)]. This feature will be removed from ansible-core in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False 
in ansible.cfg.
ansible [core 2.11.6] 
  config file = None
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.6.8 (default, Sep 12 2021, 04:40:35) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
  jinja version = 3.0.2
  libyaml = True


0
投票

使用 pip 在 Mac 上安装 Ansible 后,我遇到了类似的问题:

python3 -m pip install --user ansible

我所要做的就是卸载使用 pip 安装的 Ansible:

python3 -m pip uninstall ansible -y

然后我使用自制程序安装了它:

brew install ansible

此后,当我跑步时:

ansible --version

效果很好

© www.soinside.com 2019 - 2024. All rights reserved.