我有以下任务失败:
- 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。
答案 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"