Python作为一种脚本语言,作为Perl的对手,在操作文件系统上面很有一套, 由于语言的推广,在web方面也出现了很多Python的框架,最有名的莫过于Django了,其实不太熟悉Django,但是近些年来Python在web方面没有太多的进展,反而back end javascript,例如nodejs的崛起,带动了javascript作为一个后端语言风潮,和以前的PHP,以及基于Java的J2ee, SpringMVC(曾经占有40%的web框架)竞争,个人觉得Python并不占优势。
Python需要找到自己的发展方向,无疑Shellscript作为linux娘胎里带来的语言,其蹩脚性显而易见,而Perl is ugly, everyone knows。所以python可以在Command line这条路上多走一些。
Prerequisite, I'm newbie in Python, so I just to share my learning python feelings. So Let's start.
Python and Pip
我是用maven用习惯了,所以没有build工具,以及作为3rd party包查找工具,我肯定要找一个,python肯定要提供一个,我第一步找到的是Pip,easy_install好像也可以但是重复了,我就熟悉了pip就够用了。pip的安装比较简单,执行python的一个远程get.pip.py的脚本就可以(这个方式显得有些不专业不得不说,而且没有和linux apt-get, Mac brew等等结合,显得有些low).而且,pip在开发中也不是必须的,这点让人有些沮丧,说明在开发大型项目的时候,python的标准化,还没有十分完备(个人意见)。
Run pip list will get you have already install python packages. sys.path you'll get the directory which python 3rd party packages location.
说起来,npm和bower这种安装工具提供本地安装,但是pip没有,是让人沮丧的,npm安装默认是本地,如果全局要加-g。
npm install -g bower
Python command line framework
说到今天的主题了,一直以来,我需要一个交互式的命令行程序,动态的申请虚拟机,删除虚拟机,安装一些软件等等,我希望都通过命令行来实现,而不是通过制作一个web端(以前,我一直是怎么做的)。所以我找到了python,找到了一些不错的,激动人心的python框架。
http://docs.python-guide.org/en/latest/scenarios/cli/
这篇文章中提到了几个。