2017-02-27 75 views
0

我的目录结构是这样Ansible无法找到requirements.txt

$ tree 
├── Vagrantfile 
├── files 
│   ├── cmake 
│   ├── pip-requirements.txt 
│   └── profile 
└── tasks 
    └── main.yml 

main.yml

--- 
- hosts: kurseve 
    tasks: 
     - name: Install pip 
     pip: 
      requirements: ../files/pip-requirements.txt 
      virtualenv: /home/vagrant/venvs/cv 
      virtualenv_python: python2.7 

内容,但,当我尝试提供的流浪盒使用命令vagrant up --provision从项目根。错误日志显示ansible无法找到pip-requirements.txt放在files/

这里面是错误日志

fatal: [kurseve]: FAILED! => { 
    "changed": false, 
    "cmd": "/home/vagrant/venvs/cv/bin/pip2 install -r ../files/pip-requirements.txt", 
    "failed": true, 
    "invocation": { 
     "module_args": { 
      "chdir": null, 
      "editable": true, 
      "executable": null, 
      "extra_args": null, 
      "name": null, 
      "requirements": "../files/pip-requirements.txt", 
      "state": "present", 
      "umask": null, 
      "use_mirrors": true, 
      "version": null, 
      "virtualenv": "/home/vagrant/venvs/cv", 
      "virtualenv_command": "virtualenv", 
      "virtualenv_python": "python2.7", 
      "virtualenv_site_packages": false 
     }, 
     "module_name": "pip" 
    }, 
    "msg": "\n:stderr: Could not open requirements file: [Errno 2] No such file or directory: '../files/pip-requirements.txt'\n" 
} 

回答

2

pip模块预计requirements文件是在目标框:

pip需求文件的路径,对远程系统应该是本地的。如果使用chdir选项,文件可以被指定为相对路径。

因此,如果您的供应过程未将您的本地文件夹复制/链接到流浪盒中,则没有pip-requirements.txt可用。

+0

工作。你能指出具体的文件吗? –

+0

嗯。在答案中有模块文档的链接,并摘录参数描述。 –