gpt4 book ai didi

python - 为什么我用setup.py安装ansible找不到?

转载 作者:太空狗 更新时间:2023-10-30 01:05:17 24 4
gpt4 key购买 nike

因为我在使用 Ansible(我在 mac 上)时遇到了一些问题,今天似乎在最新的开发版本中修复了我通过 pip(sudo pip uninstall ansible)卸载了 ansible 并重新安装了最新的使用经典的 setup.py 方法从 github repo 开发版本,似乎成功结束 ( full output here

然后我尝试使用它:

$ ansible --version
-bash: ansible: command not found
$ which ansible
$

我检查了它的安装位置。从我上面链接的完整输出中,我发现它安装在 /usr/local/lib/python2.7/site-packages 中,我确实在那里找到了一个鸡蛋:

$ ls -l /usr/local/lib/python2.7/site-packages | grep ansible
drwxr-xr-x 4 root admin 136 Aug 22 16:33 ansible-2.4.0-py2.7.egg

当我启动 Python 并检查 site-packages 文件夹时,我发现了一个不同的文件夹:

>>> import site; print site.getsitepackages()[0]
/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

但这是指向同一文件夹的符号链接(symbolic link):

$ ls -l /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
lrwxr-xr-x 1 hielke admin 54 Aug 13 22:36 /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages -> ../../../../../../../../../lib/python2.7/site-packages

所以我猜问题是没有为 /usr/local/bin/ 中的 ansible 包创建符号链接(symbolic link)。但我不确定如何创建这样的符号链接(symbolic link)以及为什么它不会首先出现。

有人知道我该如何从这里前进吗?欢迎所有提示!

最佳答案

当您从 shell 调用 ansible 时,bash 将在您的 $PATH 中搜索名为 ansible 的可执行文件。这可能不是唯一的问题,但这是您所看到的错误的直接原因。 .egg 文件本身不是可执行文件,它只是一个用于分发代码的文件。

如果 ansible 已经正确安装,你应该可以使用 locate 找到它。或 OSX Finder GUI。名称应完全匹配,没有文件扩展名。您可能还会在找到 ansible 可执行文件的同一位置找到 ansible-connectionansible-console 等。如果你找到了,太好了!对其进行测试并将该目录添加到终端中的 $PATH 中,如下所示:

export PATH=$PATH:/path/to/ansible

其中 /path/to/ansible 是您找到可执行文件的目录。对 $PATH 变量的这种更改是暂时的,并且会在您关闭 shell 时消失。如果您现在可以从 bash 运行 ansible,那么您可以通过将导出添加到 $HOME/.bash_profile 文件的末尾,或者通过在 /etc 中添加规则来使更改永久生效/paths.d(Apple 推荐)。查看更多关于如何做到这些的信息 here如果您不熟悉它们。

现在,如果这不是问题并且您找不到 ansible 可执行文件,那么安装本身就是您的问题。您也可以尝试使用虚拟环境(如果您安装了它)来确保您从 github 中提取的版本没有损坏:

git clone https://github.com/ansible/ansible.git
cd ansible
virtualenv venv
source venv/bin/activate
pip install .
which ansible

在撰写本文时,以上内容为我提供了一个有效的 ansible 安装。

关于python - 为什么我用setup.py安装ansible找不到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45821068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com