Ansible 找不到requirements.txt

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

我的目录结构是这样的

$ 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
来配置 Vagrant 框时。错误日志显示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"
}
ubuntu vagrant pip ansible
1个回答
3
投票

pip模块期望

requirements
文件位于目标框上:

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

因此,如果您的配置过程没有将本地文件夹复制/链接到 vagrant box,则没有

pip-requirements.txt
可用。

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