当前位置: 首页 > 知识库问答 >
问题:

使用Ansible,如何在系统范围内安装PythonBrew?

邢俊悟
2023-03-14

我试图用Ansible(V1.3.3)创建一个playbook,按照Pythonbrew自述文件中的说明在Debian服务器上安装Pythonbrew系统范围。

- name: Install and configure PythonBrew
  hosts: dev
  user: root
  vars_files:
    - vars.yml
  gather_facts: false

  tasks:
    - name: Install PythonBrew Debian packages
      apt: pkg=${item} state=installed update-cache=yes
      with_items: ${pythonbrew_packages}

    - name: Install PythonBrew system-wide
      shell: curl -kL http://xrl.us/pythonbrewinstall | bash creates=/usr/local/pythonbrew executable=/bin/bash

    - name: Update bashrc for PythonBrew
      lineinfile:
        dest=~/.bashrc
        regexp='^'
        line='[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc'
        state=present
        create=True

    - name: Install python binary
      shell: pythonbrew install -v ${python_version} executable=/bin/bash

失败:[devserver]=>{“changed”:true,“cmd”:“pythonbrew install-v2.7.3”,“delta”:“0:00:00.016639”,“end”:“2013-10-11 15:21:40.989677”,“rc”:127,“start”:“2013-10-11 15:21:40.973038”}stderr://bin/bash:pythonbrew:command not found

我在过去的一个小时左右一直在调整事情,但没有效果。有人对此有什么建议吗?

共有1个答案

澹台志诚
2023-03-14

通过查看PythonBrew安装脚本,我能够弄清楚这一点。(正好赶上Pythonbrew的废弃!)

以下是无需手动干预即可安装PythonBrew的剧本。任何试图编写PythonBrew脚本以自动安装的人都可能对此感兴趣。

#
# Python/PythonBrew Settings
# TODO: replace old-style Ansible ${vars} with jinja-style {{ vars }}
#
project_name: MY_PROJECT

python:
  version: 2.7.3

pythonbrew:
  root: /usr/local/pythonbrew
  bashrc_path: $HOME/.pythonbrew/etc/bashrc

  packages:
    - curl
    - zlib1g-dev
    - libsqlite3-dev
    - libssl-dev
    - libxml2
    - libxml2-dev
    - libxslt1-dev
    - libmysqlclient-dev
    - libbz2-dev
---

#
# Install and Configure PythonBrew
#
- name: Install and configure PythonBrew
  hosts: MY_HOST
  user: root
  vars_files:
    - vars.yml
  gather_facts: false

  tasks:
    - name: Install PythonBrew Debian packages
      apt: pkg=${item} state=installed update-cache=yes
      with_items: ${pythonbrew.packages}

    - name: Install PythonBrew system-wide
      shell: curl -kL http://xrl.us/pythonbrewinstall | bash
        executable=/bin/bash
        creates=${pythonbrew.root}

    - name: Update bashrc for PythonBrew
      lineinfile:
        dest=/root/.bashrc
        regexp='^'
        line='[[ -s ${pythonbrew.bashrc_path} ]] && source ${pythonbrew.bashrc_path}'
        state=present
        create=True

    # This step allows install to continue without new shell. Pulled from:
    # https://github.com/utahta/pythonbrew/blob/master/pythonbrew/installer/pythonbrewinstaller.py#L91
    - name: Install python binary
      shell: export PYTHONBREW_ROOT=${pythonbrew.root}; source ${pythonbrew.root}/etc/bashrc; pythonbrew install ${python.version}
        executable=/bin/bash

    - name: Switch to python version
      shell: export PYTHONBREW_ROOT=${pythonbrew.root}; source ${pythonbrew.root}/etc/bashrc; pythonbrew switch ${python.version}
        executable=/bin/bash
 类似资料:
  • 问题内容: 我给自己做了一个小模块,碰巧经常使用它。每当我需要它时,只需将其复制到要使用的文件夹中即可。由于我很懒,所以我想安装它,以便可以从任何地方调用它,即使是交互式提示也是如此。因此,我读了一些有关在此处安装的信息,并得出结论,我需要将文件复制到/usr/local/lib/python2.7/site- packages。但是,这似乎没有任何作用。 有人知道我需要将模块复制到哪里才能在系统

  • 问题内容: 我正在实验室中运行Linux(Debian和Ubuntu)。用户名和组名由NIS和yp处理。我们有一些普通用户,每个人都可以访问该用户来运行实验,然后我们每个人都有自己的用户,此外还有一个共同的组,我们都是该组的成员。 如何使用户/组读取/写入(/可执行)共享驱动器(NFS)上的所有文件和目录?基本上我想要的是 或等效地。 但是运行以上命令只能修复文件夹中的当前文件,而umask仅适用

  • # 使用Dism++安装系统 安装系统是一个简单而又复杂的活。有的仅仅为了安装系统,先把ESD转为ISO。有的因为安装器不支持ESD,而转换为WIM。还有的在解压ISO……这根本原因是人们很多时候难以灵活运用现有的工具。君子生非异也,善假于物也。本文将通过一些实例,帮助大家驾驭Dism++。 前言 启动Dism++ RE模式 大家可能听说过PE,没见过RE。其实RE可以说跟PE是一样的,也就是说

  • 本文向大家介绍ansible 在MacOS上安装Ansible,包括了ansible 在MacOS上安装Ansible的使用技巧和注意事项,需要的朋友参考一下 示例 有两种主要方法可以使用Homebrew或Pip软件包管理器在OS X上安装Ansible。 如果您有自制软件,则可以使用以下命令安装最新的Ansible: 要安装Ansible 1.9.X分支,请使用以下命令: 要安装Ansible

  • Termux 可以安装其他 Linux 发行版系统,核心用到的工具是 chroot ,所以我们得确保安装系统的时候 proot 这个包你是安装好的,然后因为操作系统店都有官方维护的脚本,所以安装起来甚至比我们前面配置的开发环境还要简单,下面来具体的介绍吧。 实用必备工具 有能力的朋友以下工具可以直接在 Google Play 商店里面下载,国光这里就简单列举搬运一下: 软件 下载地址 说明 VNC

  • 我有一个Android应用程序用例,我需要“持续”扫描BLE设备。 仅此要求就可能让我成为受虐狂,我想这会让Android成为我的虐待狂。 我知道[我相信]仍然没有正式记录“30秒内不超过5次扫描”和“10分钟内不扫描”、“没有扫描过滤器就没有扫描结果”、背景问题和其他一些问题。 为了缓解这些问题,我使用了类似AltBeacon、Nordic Scanner Compat、SweetBlue和其他