【发布时间】:2015-06-29 14:32:24
【问题描述】:
我正在尝试以这种方式使用 ansible 的 pip 模块从私有 git 存储库安装一个包:
- name: Install my package
pip: name='git+ssh://git@github.com/mycompany/my-repo.git#egg=0.1.0'
virtualenv=/path/to/venv
但是当我尝试使用 vagrant 进行配置时,它会挂起,很可能是因为它会提示确认将密钥添加到已知主机列表中。确实,当我在 vagrant 中运行它时:
pip install git+ssh://git@github.com/mycompany/my-repo.git#egg=0.1.0
它会提示确认将 github 添加到已知主机,然后工作正常。
如果我用accept_hostkey=yes克隆它:
- name: Clone repo
git: repo=git@github.com:mycompany/my-repo.git
dest=/path/to/dest
accept_hostkey=yes
recursive=no
它工作正常,因为它接受在 vagrant 上复制的主机密钥。使用 pip 模块没有这样的选项,有什么办法吗?
作为替代方案,我可以先进行克隆,然后再进行python setup.py install,但我宁愿使用 pip 一步完成。
【问题讨论】:
-
手动运行
pip install git+ssh://git@github.com/mycompany/my-repo.git#egg=0.1.0会发生什么? -
它工作正常,是的,抱歉我应该添加此信息
-
当您在 bash 之外运行命令时是否也一样,即:未定义环境命令时?尝试
unset HOME并再次运行 pip 命令。 -
好的,所以我刚刚意识到您的意思是在我所做的 vagrant 中运行该命令,并且在提示确认将 github.com 添加到已知主机列表后它也有效,这就是配置最有可能挂起的原因.
unset HOME并没有什么不同。 -
好的,现在配置应该可以工作了。