[2015-08-13] python023

来源:互联网 发布:sql server insert语句 编辑:程序博客网 时间:2024/05/20 02:56

Python包

  • 包用于将一组模块归并到一个目录中,此目录即为包,目录名即为包名
    • 包是一个有层次的文件目录结构,它定义了一个由模块和子包组成的Python应用执行环境
    • 基于包,Python在执行模块导入时可以指定模块的导入路径:
      • import dir1.dir2.mod1

模块的顶层执行及被导入:

一个模块文件可以同时支持顶层执行(作为顶层文件)或被导入(作为模块文件)

    每个模块都有个名为__name__的内置属性,Python会自动设置该属性        如果文件是以顶层程序文件执行,在启动时,__name__的值为"__main__"        如果是被导入,则__name__的值为模块名    可以在模块文件中检测自己的__name__属性,以之实现在执行时运行指定的代码    常用于模块的自我测试:        #!/usr/bin/python         #        def testFunc():            print "hello,..."        if __name__ == "__main__":            testFunc()

这里写图片描述

发布Python模块或程序:

Python模块、扩展和应用程序可以按以下几种形式进行打包和发布

  • 压缩文件(使用distutils)
    • Windows的zip文件和类Unix平台的.tar.gz文件
  • 自动解包或自动安装可执行文件
    • Windows中的.exe文件
  • 自包含的,不要求安装的预备运行可执行程序
    • Windows的.exe文件、Unix上带有一个小的脚本前缀的ZIP压缩文件、Max上的.app文件等
  • 平台相关的安装程序
    • Windows上的.msi文件、Linux上常见的.rpm、src.rpm和.deb文件等
  • Python eggs
    • 较流行的第三方扩展

使用distutils发布模块:

  • disutils模块能够帮助完成模块或程序发布
    • 发布”是指一个文件集合,这些文件联合在一起可使用distutils构建、打包和发布模块
    • 创建好的发布可以用于安装,也可上传到PyPI与他人共享
  • 创建发布
    • 将各代码文件组织到模块容器中
    • 准备一个README或README.txt文件
    • 而后在容器中创建setup.py文件
  • setup.py的常用参数:
    name                包的名称(必须)    Version             版本号(必须)    author          author_email    maintainer    maintainer_email    py_modules          各模块名称组成的列表,此些模块可能位于包的根目录下(modname),也可能位于某子包目录中(subpkg1.modname)    platforms           平台列表    license             许可证    packages            各子包名称的列表    url    download_url    大体分为两类:元数据信息和包中的内容列表
  • 完成打包:
    在要发布的容器目录中执行”python setup.py sdist”命令

  • 打包格式:

    python setup.py sdist     可以为sdist指定格式:--formats=***        zip:    zip file        gztar:  tar.gz file         bztar:  tar.bz2 file         ztar:   tar.Z file         tar:    tar file    python setup.py bdist    可以为bdist指定格式:--formats=***        gztar:  tar.gz file         ztar:   tar.Z file        tar:    tar file         zip:    zip file        rpm:    RPM Package        pkgtool:    Solaris pkgtool        wininst:    Windows上自解压的zip格式的包        msi:    Microsoft Installer
  • 获取帮助的方式:
    python setup.py --help     python setup.py --help-commands         所有可以使用的命令,如build,install    python setup.py COMMAND --help          获取特定命令的帮助    python setup.py COMMAND --help=formats  获取特定命令支持使用的格式
0 0
原创粉丝点击