Python学习笔记(一) setuptools的使用

        刚接触setuptools时为之困惑了一段时间,以为只是一个帮助安装的工具而已。使用之后,才感觉有点类似Java里面的ant,maven。比如下载所需要的包,打包,发布,单元测试等。对于setuptools的介绍资料很多,我也是借助这些资料慢慢对setuptools有了一定的了解。但具体编码的貌似很少,我就写点吧,由浅入深。

具体的安装等可以看这篇文章介绍得很详细:http://www.cnblogs.com/itech/archive/2011/02/13/1953268.html我这里简单的使用介绍也是摘自里面。

一.简单的使用:

直接新建个python脚本:setup_simple.py,内容如下:

'''
Created on Aug 23, 2012

@author: guoyun
'''

from setuptools import setup

setup()

运行命令:python setup_simple.py bdist_egg

会发现在你的工程目录下多了build,dist以及UNKNOWN.egg-info这三个目录

二.复杂的使用

1.实现类似ant clean的清理命令:

新建Python脚本,setup_clean.py,代码如下:

'''
Created on Aug 23, 2012

@author: guoyun
'''

import sys
import os
import shutil

from setuptools import setup

def main():
    if len(sys.argv) == 2 and sys.argv[1]=='clean':
        #remove .pyc files
        for (dirpath, dirnames, filenames) in os.walk('.'):
            for filename in filenames:
                filepath = os.path.join(dirpath, filename)
                if filepath.endswith('.pyc'):
                    os.remove(filepath)
        #remove dist dir
        if os.path.exists('dist'):
            shutil.rmtree('dist')
            
        #remove dist dir
        if os.path.exists('build'):
            shutil.rmtree('build')
        
        #remove *.egg-info
        if os.path.exists('UNKNOWN.egg-info'):
            shutil.rmtree('UNKNOWN.egg-info')
    
if __name__ == '__main__':
    print 'arguments:',sys.argv
    main()

      运行命令:python setup_clean.py clean,会发现你工程目录下刚才通过python setup_simple bdist_egg所创建的build,dist,UNKNOW.egg-info目录以及*.pyc文件都不存在了。

     2.打造自己的setup

更多技术文章、感悟、分享、勾搭,请用微信扫描:

Python学习笔记(一) setuptools的使用

相关推荐