【发布时间】:2020-06-12 05:09:50
【问题描述】:
我正在尝试配置 Ansible 以将 Python 包 cryptography 安装到 Windows 10 上。
这需要预先添加两个环境变量:
C:\> set LIB=C:\OpenSSL-win64\lib;%LIB%
C:\> set INCLUDE=C:\OpenSSL-win64\include;%INCLUDE%
我想使用 Ansible 的 win_environment 预先添加到环境变量。
但是,我不知道如何通过win_environment 将其添加到环境变量中。你能帮帮我吗?
我的尝试
我尝试了以下任务:
- name: Set OpenSSL environment variables - LIB
win_environment:
name: LIB
level: machine
state: present
value: C:\Program Files\OpenSSL-Win64\lib;%LIB%
不幸的是,Ansible 试图将 %LIB% 解释为路径,并吐出:Invalid search path '%LIB%' specified in 'LIB environment variable' -- 'The system cannot find the path specified.
研究
how to extend windows path variable using ansible
这里的 OP 也有同样的问题,除了 Path 变量。这是我的cmets:
- 我的用例不是
Path环境变量。 - 当前的答案基本上是使用
raw和/或register在几个步骤中手动添加到路径的前面。我希望有更简单的东西。
版本
ansible==2.8.3
cryptography==2.6.1
【问题讨论】:
-
您是否尝试使用
environment任务参数? docs.ansible.com/ansible/latest/user_guide/…。这应该添加到您的 pip taks(或您用来安装 python dep 的任何 ansible 模块)中。 -
我不知道参数
environment,谢谢@Zeitounator!在这种情况下,这解决了我的问题。但是,我仍然对上述问题感兴趣,因为我认为添加到环境变量之前很有用。
标签: ansible environment-variables ansible-2.x prepend