首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止错误-没有模块名为packaging.version

防止错误-没有模块名为packaging.version
EN

Stack Overflow用户
提问于 2017-05-30 21:27:44
回答 2查看 6.2K关注 0票数 4

我有CentOS7.3和AnbleVersion2.3。

代码语言:javascript
复制
Ansible 2.3.0.0
config file = ../ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

我需要在Azure VM中运行ansible剧本。

运行时,我会得到以下错误

代码语言:javascript
复制
fatal: [52.170.201.24]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to 52.170.201.24 closed.\r\n", 
"module_stdout": "\r\nTraceback (most recent call last):\r\n  File \"/tmp/ansible_k2CnFR/ansible_module_azure_rm_virtualmachine.py\", line 445, in <module>\r\n    
from ansible.module_utils.azure_rm_common import *\r\n  
File \"/tmp/ansible_k2CnFR/ansible_modlib.zip/ansible/module_utils/azure_rm_common.py\", line 29, in <module>\r\nImportError: No module named packaging.version\r\n", "msg": "MODULE FAILURE", "rc": 0}

尝试安装setuptools,如几个站点所示

代码语言:javascript
复制
sudo pip install setuptools
Requirement already satisfied: setuptools in /root/.local/lib/python2.7/site-packages
Requirement already satisfied: six>=1.6.0 in /root/.local/lib/python2.7/site-packages (from setuptools)
Requirement already satisfied: appdirs>=1.4.0 in /root/.local/lib/python2.7/site-packages (from setuptools)
Requirement already satisfied: packaging>=16.8 in /root/.local/lib/python2.7/site-packages (from setuptools)
Requirement already satisfied: pyparsing in /root/.local/lib/python2.7/site-packages (from packaging>=16.8->setuptools

尝试如几个站点中提到的那样升级pip,并将其升级到最新版本。

代码语言:javascript
复制
pip -V
pip 9.0.1 from /usr/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

which pip
/usr/bin/pip
$ which pip3
/usr/local/bin/pip3
$ which python
/usr/bin/python

更新:

42.170.201.24是Azure虚拟机的IP地址,它是库存主机的一部分。

实际上,我正在尝试在Azure虚拟机上使用我的无意义控制计算机中的这个无意义代码来供电。

代码语言:javascript
复制
- name: Power On Docker repo if Azure
  azure_rm_virtualmachine:
    resource_group: HpsaPoc
    name: DockerRepo
    started: yes
  when:  "{{cloud_provider}}" == 'azure'

我无法理解这个python/pip配置,我尝试过安装python3.5和pip3,但是没有帮助,所以删除了它,因为我不知道如何卸载它。请帮帮忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-31 06:20:03

似乎您试图从远程主机执行azure_rm_virtualmachine,而不是从您的Ansible控件主机执行。

尝试:

代码语言:javascript
复制
- name: Power On Docker repo if Azure
  azure_rm_virtualmachine:
    resource_group: HpsaPoc
    name: DockerRepo
    started: yes
  when: cloud_provider == 'azure'
  delegate_to: localhost
票数 3
EN

Stack Overflow用户

发布于 2017-08-30 13:53:59

发生上述错误是因为您的环境没有打包模块。

通过安装封装模块来解决这个问题。

pip安装包装

上述命令将安装16.8版本的打包模块。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44272205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档