编写类似shell的python脚本来控制连续的构建。

cish的Python项目详细描述


我曾经编写一些小的bash脚本来创建virtualenv和 使用 我的构建机器上一直安装的几个python版本之一。 但是bash脚本在windows上不受支持,所以我想编写 这个脚本是用python编写的。

cish是一组用于编写类似bash的python的实用函数 处理几个已安装的python解释器的脚本。

我们走吧!

importcishcish.rm("build")cish.default.pip("install","nose")cish.default.python("setup.py","build")cish.default.nosetests()
<>这将删除 Bug < /cIT>目录,如果存在所有内容, 安装nose并构建和测试包。

默认值是一个由python解释器组成的“环境”, 库路径和实用程序,如pip默认值是环境 执行脚本本身的解释器。

我们也可以使用不同的解释器:

importcishenv=cish.from_interpreter("path/to/python")env.python("setup.py","build")env.nosetests()

python解释器的安装位置通常是 取决于试验机。我们可以放置一个简单的json文件 在几个位置之一,例如在/etc/cish.json中, 指定其位置:

{"2.6.9":"/opt/python2.6.9/bin/python","2.7.8":"/opt/python2.7.8/bin/python"}

然后我们可以选择脚本中的interpeter,比如说, 由jenkins设置的环境变量:

importcish,osenv=cish.from_config()[os.environ["PYTHON_VERSION"]]env.python("setup.py","build")

virtualenv也很简单:

importcishvenv=cish.default.virtualenv("optional/location")venv.pip("install","package_to_install_inside_virtualenv")

错误报告和其他贡献

此项目位于此处cish github page

备选方案

你可能想看看sh一个很酷的库 在不直接处理子流程的情况下运行可执行文件。它有一个更宽的 范围比cish小,但缺少我们为不同python安装提供的抽象 以及操作系统特定的文件扩展名和安装位置。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
将Java中的对象列表序列化为json   在同一Play Framework项目中同时使用Ebean和JPA的java   oop如何在整个Java项目中共享API密钥   java ADT Eclipse SDK故障未找到DDM   扫描程序中变量的递归Java输入值未应用于方法中的变量   java将空格转换为命令行类型的空格   JavaSpring,如何决定客户机应该使用哪个服务?   java致命异常:main(Android标准)   java编译错误是因为类型检查还是三元运算符?   java Sikuli+Webdriver:getting error x.png看起来像一个文件,但在磁盘上找不到。假设是文本   java选择位置。。。。ms sql 2005中需要电气状态   由于OSGi捆绑包依赖性问题,java无法启动RCP应用程序   json java gson fromjson返回非泛型的null   如何将google api访问令牌从java服务器传递到gapi javascript客户端?   java在已排序的LinkedList中添加元素   java ForkJoinPool为什么程序抛出OutOfMemoryError?   java SQUARE无法解析为Processing/Eclipse中的变量   java如何为Sun App Server 8.2设置JNDI