Ansible无法通过pipenv安装依赖项

时间:2019-10-28 08:59:19

标签: python python-3.x ansible pipenv

我有以下任务失败:

- name: restore dependencies via pipenv
  shell: /home/{{ ansible_user }}/.local/bin/pipenv install
  args:
    executable: /bin/bash
    chdir: "{{ app_dir }}"
  environment:
    LC_ALL=C.UTF-8
    LANG=C.UTF-8

,并显示以下消息:

  

RuntimeError:单击将中止进一步执行,因为Python 3已配置为使用ASCII作为环境的编码。有关缓解步骤,请咨询https://click.palletsprojects.com/en/7.x/python3/

     

此系统支持推荐的C.UTF-8语言环境。   您可能可以通过导出   以下环境变量:

     

export LC_ALL = C.UTF-8      出口LANG = C.UTF-8

令我惊讶的是environment是在任务级别设置的。

此外,当我进入机器并手动执行操作时,该命令将运行OK。

2 个答案:

答案 0 :(得分:0)

这是对任务的错别字。正确的语法是:

- name: restore dependencies via pipenv
  shell: /home/{{ ansible_user }}/.local/bin/pipenv install
  args:
    executable: /bin/bash
    chdir: "{{ app_dir }}"
  environment:
    LC_ALL: "C.UTF-8"
    LANG: "C.UTF-8"

答案 1 :(得分:0)

我来这里是因为同样的问题,但是使用了命令模块。因此,它与您的解决方案几乎相同,但是更短。

- name: restore dependencies via pipenv
  command: pipenv install
  args:
    chdir: "{{ app_dir }}"
  environment:
    LC_ALL: "C.UTF-8"
    LANG: "C.UTF-8"