【问题标题】:Ansible failing to install dependencies via pipenvAnsible 无法通过 pipenv 安装依赖项
【发布时间】:2020-02-23 13:11:18
【问题描述】:

我有以下任务失败:

- 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: Click 将中止进一步的执行,因为 Python 3 被配置为使用 ASCII 作为环境的编码。请咨询https://click.palletsprojects.com/en/7.x/python3/ 了解缓解步骤。

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

导出 LC_ALL=C.UTF-8 导出 LANG=C.UTF-8

让我吃惊的是environment 是在任务级别设置的。

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

【问题讨论】:

    标签: python python-3.x ansible pipenv


    【解决方案1】:

    这是任务中的某种错字。正确的语法是:

    - 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"
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-29
        • 2019-01-02
        • 2019-11-24
        • 1970-01-01
        • 1970-01-01
        • 2017-06-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多