ido - 0.2 发布

ido 0.2 发布,主要变化如下:

  • cd 命令进行了优化,可以使用 with cd('/tmp'): 这样的写法,在with之后自动回到原来的目录下

  • index 位置支持链接了,因此可以直接从网上下载package安装脚本来执行

  • 添加 tarx 和 unzip 命令。tarx 相当于执行了 tarx xvfz filename ,而 unzip 相当于执行了 unzip -o filename 。这两个命令在执行后,会猜测解压后的目录,并返回。有时压缩包的目录和文件名其实不一样。所以,可以和 cd 命令连用,实现解压后进入解压目录的功能,如: cd(tarx('a.tar.gz'))

  • 改进 cp 命令,可以传入 wget 参数,当拷贝文件不存在时,自动调用 wget 来下载文件

  • 添加 settings 文件支持,它是一个 python 文件,可以用 -c 参数来指定,如果不指定,则自动从 ~/.ido/settings.py 中查找。你可以在这里设置 : INDEXES, PREFIX, FILES, PRE_LOAD,其中 PRE_LOAD用来实现在执行 ido install package 时,自动导入设定的模块,并从中导入函数或对象,它有三种写法:

    PRE_LOAD = [
        ('package.path', '*'),
        ('package.path', ['a', 'b']),
        ('package.path', 'alias_name')
    ]
    

    分别表示:

    • 导入模块 package.path 中的 __all__ 中定义的对象
    • 导入模块 package.path 中的对象 ’a', 'b'
    • 导入模块 package.path 并改名为 'alias_name',这样你可以在安装脚本中使用 alias_name.xxx 来调用它内部的对象
  • 然后还添加了 nginx, pcre, redis 安装的示例,可以使用:

    ido install nginx --prefix=~/env
    

    这样安把nginx安装到 ~/env 目录下。

  • 调整了package 的结构,原来是每个package需要是一个目录,并且里面有 install.py 文件,现在则保留这种方式的基础上,同时可以简化为在 INDEXES 目录下,每个package是一个 .py 文件,文件主名是 package 的名字,如: nginx.py,安装脚本示例为:

    pcre = cp('pcre*', BUILD)
    zlib = cp('zlib*', BUILD)
    nginx = cp('nginx*', BUILD)
    cd(BUILD)
    tarx(pcre)
    tarx(zlib)
    cd(tarx(nginx))
    sh('./configure --prefix=%s --with-pcre=%s --with-zlib=%s' % (PREFIX, '../pcre-8.33', '../zlib-1.2.8' ))
    sh('make install')
    

    这个示例在我本机的输出结果可能为:

ido - 0.2 发布_第1张图片

你可能感兴趣的:(ido - 0.2 发布)