首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ansible - "NameError:未定义名称'urllib2‘“

Ansible - "NameError:未定义名称'urllib2‘“
EN

Stack Overflow用户
提问于 2016-08-04 11:03:41
回答 4查看 4.2K关注 0票数 0

在使用python 3.5.2运行ansible(version >2)时,在下面获得以下错误

我已经研究过github问题,认为它已经解决了,但无法确定需要做什么。https://github.com/ansible/ansible/issues/16013

如何解决这个问题?

代码语言:javascript
运行
复制
virtual@xxxxxxxxxx:~/ansible-spike> ansible all -m ping -vvv
    Using /home/virtual/ansible-spike/ansible.cfg as config file
    ERROR! Unexpected Exception: name 'urllib2' is not defined
    the full traceback was:

    Traceback (most recent call last):
      File "/home/virtual/.pyenv/versions/3.5.2/bin/ansible", line 92, in <module>
        exit_code = cli.run()
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ansible/cli/adhoc.py", line 193, in run
        result = self._tqm.run(play)
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ansible/executor/task_queue_manager.py", line 202, in run
        self.load_callbacks()
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ansible/executor/task_queue_manager.py", line 171, in load_callbacks
        for callback_plugin in callback_loader.all(class_only=True):
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ansible/plugins/__init__.py", line 368, in all
        self._module_cache[path] = self._load_module_source(name, path)
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ansible/plugins/__init__.py", line 319, in _load_module_source
        module = imp.load_source(name, path, module_file)
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/imp.py", line 172, in load_source
        module = _load(spec)
      File "<frozen importlib._bootstrap>", line 693, in _load
      File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 665, in exec_module
      File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ansible/plugins/callback/hipchat.py", line 32, in <module>
        from ansible.module_utils.urls import open_url
      File "/home/virtual/.pyenv/versions/3.5.2/lib/python3.5/site-packages/ansible/module_utils/urls.py", line 330, in <module>
        if hasattr(httplib, 'HTTPSConnection') and hasattr(urllib2, 'HTTPSHandler'):
    NameError: name 'urllib2' is not defined
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-08-04 11:16:16

ansible python API不支持Python3,PyPI页面只列出2.6和2.7。

票数 1
EN

Stack Overflow用户

发布于 2016-08-04 11:15:39

Urllib2是Python v2特有的。

Urllib2文档在http://docs.python.org/library/urllib2.html

在Python3.0中,urllib2模块被划分为多个模块,名为urllib.request和urllib.error。

我不认为Ansible与Python 3兼容。

票数 6
EN

Stack Overflow用户

发布于 2016-08-04 11:15:56

Ansible目前无法使用Python3运行。这一点在相关的Github问题中也有说明。

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

https://stackoverflow.com/questions/38765586

复制
相关文章

相似问题

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