【发布时间】:2018-01-30 22:37:35
【问题描述】:
因为我在使用 Ansible(我在 Mac 上)时遇到了一些问题,今天我通过 pip (sudo pip uninstall ansible) 卸载了 Ansible,并使用 github 存储库重新安装了最新的开发版本经典的 setup.py 方法,似乎成功结束了(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
但这是指向同一文件夹的符号链接:
$ 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 包创建符号链接。但我不确定如何创建这样的符号链接,以及为什么它一开始就不会出现。
有人知道我如何从这里继续前进吗?欢迎所有提示!
【问题讨论】:
-
你能显示你的环境变量吗,我无法重现它。
-
@aristotll - 我不确定你指的是哪个环境变量,但可以肯定的是,这里是
os.environ的完整粘贴:pastebin.com/b0AuuAaV 这能告诉你什么吗? -
你能显示
which python的结果吗? -
@aristotll -
/usr/local/bin/python -
@techraf - 奇怪的是 pip 似乎确实调用了 brew 安装的 python。当我执行
cat $(which pip)时,文件的第一行显示为#!/usr/local/bin/python,这是安装了brew 的Python 的符号链接:ls -l /usr/local/bin/python给了我/usr/local/bin/python -> ../Cellar/python/2.7.13_1/bin/python。我认为主要问题是在/user/local/bin/中没有为 ansible 包创建符号链接。但我不知道该怎么做。
标签: python macos installation pip setup.py