python之模块distutils,打包工具

# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#python之模块distutils,打包工具



import distutils
#distutils包有2个目的:
1)distutils希望让最终用户觉得安装新模块、包和工具的过程一致而轻松
2)distutils希望让新模块、包和工具的开发者觉得创建这些容易安装的分发包很轻松

总得来说,distutils就是用来打包的模块.



#2、用distutils如何打包?
#http://blog.csdn.net/five3/article/details/7847551
#setup.py
import codecs
import os
import sys
'''打包的用的setup必须引入'''
from distutils.core import setup
    

def read(fname):
    '''
    定义read(),用来读取目录下的长描述
    我们一般将README文件中的内容读取出来叫做长描述,这个会在pypi中你的包的页面展现出来
    你也可以不用此办法,直接手动写内容
    pypi上支持.rst格式的文件,暂时不支持md格式;rst格式的文件在pypi上会自动转化为html形式显示在你的包的信息页面上
    '''
    return codecs.open(os.path.join(os.path.dirname(__file__),fname)).read()


#setup函数参数说明
#--------------------------------------------------------------------------#
NAME='MyTest'
'''名字:一般填写包的名字即可'''


PACKAGES=['MyTest']#需要打包的目录列表
'''包:放置模块的名字,list形式,可放置多个;告诉Distutils需要处理那些包(包含__init__.py的文件夹)'''


DESCRIPTION='my first package'
'''描述:关于这个包的基本描述'''


LONG_DESCRIPTION=read('README.rst')
'''查查看包的具体更加详细的说明'''


KEYWORDS='test python package keyword'
'''当前包的关键词,方便pypi分类'''


AUTHOR='xiaodeng' #作者
AUTHOR_EMAIL='drgs156@163.com'
URL='http://blog.sina.com.cn/u/3712558093'#项目地址,没有可写pypi上该包的地址
VERSION='1.0.1'
LICENSE='MIT'#授权方式


#这3项变量未添加到setup变量中,测试时可添加进入试试.
DOWNLOAD_URL='' #程序的下载地址
DATA_FILES=''#打包时需要打包的数据文件,如图片,配置文件等
SCRIPTS=''  #安装时需要执行的脚步列表


#构造setup
setup(
    name=NAME,
    version=VERSION,
    description=DESCRIPTION,
    long_description=LONG_DESCRIPTION,
    classifiers=[
        'License :: OSI Approved :: MIT License',
        'Programming Language ::Python',
        'Intended Audience :: Developers',
        'Operating System :: OS Independent',
        ],
    keywords=KEYWORDS,
    author=AUTHOR,
    author_email=AUTHOR_EMAIL,
    url=URL,
    license=LICENSE,
    packages=PACKAGES,
    include_package_data=True,
    zip_safe=True,
    py_modules=['test','test1','test2'],     #填写你的模块py文件,就是要打包的python文件列表
    )


'''
安装
>>> python setup.py sdist // 源码安装包
>>> python setup.py bdist_wininst //Windows 下使用
>>> python setup.py bdist_rpm //Linux 下使用
'''

 

posted @ 2015-11-09 01:51  Xiao|Deng  阅读(1561)  评论(0编辑  收藏  举报