【问题标题】:Ansible no longer worksAnsible 不再有效
【发布时间】:2020-05-20 17:05:53
【问题描述】:

我一直在通过 WSL(使用 Pengwin,一种基于 Debian 的 Linux)在 Windows 10 上学习 Ansible,直到昨晚它一直运行良好。今天早上,它好像不存在了:

❯ ansible
Traceback (most recent call last):
  File "/usr/bin/ansible", line 34, in <module>
    from ansible import context
ModuleNotFoundError: No module named 'ansible'

从字面上看,自昨晚以来没有任何变化。甚至我的电脑也一直开着。唯一的区别是我已经退出了我的终端程序。

我尝试运行 pengwin-setup 重新安装 Ansible,但问题仍然存在。

最后,我尝试按照 Ansible 自己网站上的说明进行安装。然而,事情变得更糟:

❯ sudo apt install software-properties-common
[sudo] password for sturm:
Reading package lists... Done
Building dependency tree
Reading state information... Done
software-properties-common is already the newest version (0.96.20.2-2.1).
0 upgraded, 0 newly installed, 0 to remove and 85 not upgraded.

❯ sudo apt-add-repository --yes --update ppa:ansible/ansible
gpg: keybox '/tmp/tmpg2r1t8x7/pubring.gpg' created
gpg: /tmp/tmpg2r1t8x7/trustdb.gpg: trustdb created
gpg: key 93C4A3FD7BB9C367: public key "Launchpad PPA for Ansible, Inc." imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no valid OpenPGP data found.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 688, in addkey_func
    func(**kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386, in add_key
    return apsk.add_ppa_signing_key()
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273, in add_ppa_signing_key
    cleanup(tmp_keyring_dir)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in cleanup
    shutil.rmtree(tmp_keyring_dir)
  File "/usr/lib/python3.8/shutil.py", line 715, in rmtree
    _rmtree_safe_fd(fd, path, onerror)
  File "/usr/lib/python3.8/shutil.py", line 672, in _rmtree_safe_fd
    onerror(os.unlink, fullname, sys.exc_info())
  File "/usr/lib/python3.8/shutil.py", line 670, in _rmtree_safe_fd
    os.unlink(entry.name, dir_fd=topfd)
FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.extra'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apt/cache.py", line 570, in update
    res = self._cache.update(fetch_progress, slist,
apt_pkg.Error: E:The repository 'http://ppa.launchpad.net/ansible/ansible/ubuntu groovy Release' does not have a Release file.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/apt-add-repository", line 168, in <module>
    if not sp.add_source_from_shortcut(shortcut, options.enable_source):
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 759, in add_source_from_shortcut
    cache.update(sources_list=new_debsrc_entry.file)
  File "/usr/lib/python3/dist-packages/apt/cache.py", line 573, in update
    raise FetchFailedException(e)
apt.cache.FetchFailedException: E:The repository 'http://ppa.launchpad.net/ansible/ansible/ubuntu groovy Release' does not have a Release file.

现在我别无选择。如何让 Ansible 再次运行?

【问题讨论】:

  • 哦!等等,您在 Debian 发行版上使用 Ubuntu 安装说明。您应该关注how-to install it on Debian 而不是how-to install it on Ubuntu,或者更好的是,可以肯定的是,通过pip 安装它
  • 谢谢你,@β.εηοιτ.βε。作为一个新手,我不知道 Ubuntu 和 Debian 之间有那么大的区别。我继续并使用了您友好链接的 pip 指令,并且能够重新安装 ansible 并且它似乎再次运行。请随时回答这个问题,我会将其标记为正确。再次感谢! ??????

标签: python linux ansible windows-subsystem-for-linux


【解决方案1】:

您的问题源于您使用说明在 Ubuntu 发行版上安装 Ansible,而正如您所说,Pengwin 是基于 Debian 的。

所以你应该使用how to install Ansible on Debian how to install Ansible on Ubuntu 的章节。

更好,因为 Pengwin 是一个非常特殊的发行版,因为它是一个 WSL 发行版,你可能想通过pip 尝试安装:

可以使用 Python 包管理器 pip 安装 Ansible。如果 pip 在您的 Python 系统上尚不可用,请运行 以下命令安装它:

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py --user

然后安装 Ansible:

$ pip install --user ansible

https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-with-pip

【讨论】:

  • 就是这样!非常感谢您向我指出应该明显流血的地方。我在我的开发机器上的各种发行版和我 ssh 进入的服务器之间来回切换,所以我只是感到困惑并使用了错误的安装过程。谢谢你帮我解决这个问题。你太棒了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-22
  • 2019-02-08
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多