Azure 中没有用于 Ansible VM 预配的名为 packaging.version 的模块
Posted
技术标签:
【中文标题】Azure 中没有用于 Ansible VM 预配的名为 packaging.version 的模块【英文标题】:No module named packaging.version for Ansible VM provisioning in Azure 【发布时间】:2017-11-18 21:44:42 【问题描述】:我正在使用 CentOS 7.2 并尝试使用模块“azure_rm_virtualmachine”通过 Ansible 在 azure 中配置 VM,并收到错误为“No module named packaging.version” 下面是我的错误
Traceback(最近一次调用最后一次): 文件“/tmp/ansible_7aeFMQ/ansible_module_azure_rm_virtualmachine.py”,第 445 行,在 从 ansible.module_utils.azure_rm_common 导入 * 文件“/tmp/ansible_7aeFMQ/ansible_modlib.zip/ansible/module_utils/azure_rm_common.py”,第 29 行,在 ImportError:没有名为 Packaging.version 的模块
致命:[本地主机]:失败! => “改变”:错误, “失败”:是的, “module_stderr”:“回溯(最近一次调用最后一次):\n 文件 \”/tmp/ansible_7aeFMQ/ansible_module_azure_rm_virtualmachine.py\”,第 445 行,\n from ansible.module_utils.azure_rm_common import *\n File \”/tmp /ansible_7aeFMQ/ansible_modlib.zip/ansible/module_utils/azure_rm_common.py\",第 29 行,\nImportError: No module named packaging.version\n", "module_stdout": "", "msg": "模块故障", “rc”:0
下面是我的剧本,我使用的是 ansible 版本 2.3.0.0 和 python 版本 2.7.5 和 pip 9.0.1
名称:在 azure 中配置新 VM 主机:本地主机 连接:本地
任务:
名称:创建虚拟机 azure_rm_virtualmachine: 资源组:xyz 名称:ScriptVM vm_size:标准_D1 管理员用户名:xxxx 管理员密码:xxxx 图片: 提供:CentOS 发行商:Rogue Wave Software 货号:'7.2' 版本:最新我正在从 ansible 主机运行 playbook,并尝试通过 ansible 创建资源组,但出现与 "No module named packaging.version" 相同的错误。
【问题讨论】:
您是否在“没有名为 Packaging.version 的模块”上搜索过任何内容? 是的,我已经搜索过 "No module named packaging.version" ,有一个类似的问题,但解决方案是运行运行 playbook 并委托访问本地 .. 我也尝试过..但问题仍然存在。 问题已解决..我刚刚通过 pip 安装了 Packaging 库并解决了..感谢@Konstantin 的即时响应。 【参考方案1】:上述错误是由于您的环境没有包装模块。
通过安装packaging模块来解决这个问题。
pip 安装打包
以上命令会安装16.8版本的打包模块
【讨论】:
【参考方案2】:你可以试试这个,它解决了我
sudo pip install -U pip setuptools
仅供参考:我的 ENV 是
Ubuntu 16.04.2 LTS on Windows Subsystem for Linux (Windows 10 bash)
Python 2.7.12
pip 9.0.1
ansible 2.3.1.0
azure-cli (2.0.12)
【讨论】:
以上是关于Azure 中没有用于 Ansible VM 预配的名为 packaging.version 的模块的主要内容,如果未能解决你的问题,请参考以下文章
在具有外部访问权限的 Azure VM 中预配 SQL Always on
在 Ansible 中获取 Azure 规模集 VM 的专用 IP