python模块的打包setuptools

样例代码:
新建test.py文件,内容如下:

[python]  view plain  copy
 
  1. print "show me"  


新建一个setup.py编译文件,内容如下:

[python]  view plain  copy
 
  1. from distutils.core import setup  
  2. setup(name='Myblog',  #打包后的包文件名  
  3.       version='1.0',    
  4.       description='My Blog Distribution Utilities',    
  5.       author='Liu tiansi',    
  6.       author_email='[email protected]',    
  7.       url='http://blog.liuts.com',    
  8.       py_modules=['test'],   #与前面的新建文件名一致  
  9. )    


运行如下命令:
>>python setup.py sdist   #打包后的格式为tar.gz/zip

运行结果:
当前目录下新增一个dist目录,里面会有一个同name值相同的文件包。Windows下时zip包,linux下是tar.gz包。

安装并测试:
解压刚打包好的文件,运行如下命令进行安装:
python setup.py install
进入python解释器环境,运行如下命令:
import test
如果成功打印出show me字样则表示成功

卸载:
python setup.py uninstall

setup函数各参数详解:
>>python setup.py --help
  --name              包名称
  --version (-V)      包版本
  --author            程序的作者
  --author_email      程序的作者的邮箱地址
  --maintainer        维护者
  --maintainer_email  维护者的邮箱地址
  --url               程序的官网地址
  --license           程序的授权信息
  --description       程序的简单描述
  --long_description  程序的详细描述
  --platforms         程序适用的软件平台列表
  --classifiers       程序的所属分类列表
  --keywords          程序的关键字列表
  --packages  需要打包的目录列表
  --py_modules  需要打包的python文件列表
  --download_url  程序的下载地址
  --cmdclass  
  --data_files  打包时需要打包的数据文件,如图片,配置文件等
  --scripts  安装时需要执行的脚步列表

setup.py打包命令各参数详解:
>>python setup.py --help-commands
  --python setup.py build     # 仅编译不安装
  --python setup.py install    #安装到python安装目录的lib下
  --python setup.py sdist      #生成压缩包(zip/tar.gz)
  --python setup.py bdist_wininst  #生成NT平台安装包(.exe)
  --python setup.py bdist_rpm #生成rpm包

或者直接"bdist 包格式",格式如下:

#python setup.py bdist --help-formats 
  --formats=rpm      RPM distribution
  --formats=gztar    gzip'ed tar file
  --formats=bztar    bzip2'ed tar file
  --formats=ztar     compressed tar file
  --formats=tar      tar file
  --formats=wininst  Windows executable installer

  --formats=zip      ZIP file

如:
python setup.py bdist --formats=zip  等价于  python setup.py sdist

你可能感兴趣的:(python模块的打包setuptools)