【问题标题】:Ansible - Does easy_install module deprecated?Ansible - easy_install 模块是否已弃用?
【发布时间】:2019-09-29 15:58:55
【问题描述】:

我正在使用 Ansible 配置一个 Vagrant 框 (ubuntu/trusty64)。

执行以下剧本时:

---
- hosts: all
  tasks:
    - name: install pip
      easy_install:
        name: pip
        state: present

    - name: install gunicorn and flask
      pip: name={{ item }}
      with_items:
         - gunicorn
         - flask

我收到以下错误:

未能在路径中找到所需的可执行文件 easy_install

在寻找解决方案时我发现了this stackoverflow thread,这表明使用easy_install 已经过时了。

我在 Ansible easy_install docs 中没有找到任何提示。

任何帮助将不胜感激。



我的流浪文件:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.provision :ansible do |ansible|
    ansible.playbook = "playbook.yml"
  end
end

运行:

Ansible 2.7.10。

流浪者 2.0.2.


提到的错误的完整堆栈跟踪:

TASK [安装 pip]


致命:[默认]:失败! => {"changed": false, "msg": "找不到 路径中所需的可执行文件easy_install: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"} 要重试,请使用:--limit @/home/workspaces/python_flask/playbook.retry

播放回顾


【问题讨论】:

  • easy_install 根本没有安装在您的基本 vagrant box 上。
  • ... 或在配置的路径中找不到。尽管它是一种过时的方法,但 module still exists。如果你最近有一个已经安装了 python 的盒子,那么 pip 很可能已经在那里,你可以跳过你的第一个任务。
  • @Zeitounator,你是对的,它不是核心模块的一部分——我的错。您能否发布您的 cmets 作为答案并提及这一事实以供其他人查看?

标签: ubuntu ansible vagrant


【解决方案1】:

只需将我的评论转换为答案。

easy_install 根本没有安装在您的基本 vagrant box 上,或者在配置的路径中找不到。虽然安装python包的方法已经过时了,the module still exists.

如果您在基本 vagrant box 上安装 easy_install(通过重建它或在使用 ansible 作为 apt 任务进行配置时),错误就会消失。

同时,如果您最近有一个已经安装了 python 的盒子(似乎是这种情况),那么pip 很有可能已经在那里,您可以跳过您的第一个任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 2018-02-15
    • 2015-09-22
    • 2023-03-08
    • 2018-09-12
    • 2017-12-06
    • 2017-08-11
    相关资源
    最近更新 更多