您的位置:首页 > 编程语言 > Python开发

[2015-08-13] python023

2015-08-13 23:35 621 查看

Python包

包用于将一组模块归并到一个目录中,此目录即为包,目录名即为包名

包是一个有层次的文件目录结构,它定义了一个由模块和子包组成的Python应用执行环境

基于包,Python在执行模块导入时可以指定模块的导入路径:

import dir1.dir2.mod1

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

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

[code]    每个模块都有个名为__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的常用参数:

[code]    name                包的名称(必须)
    Version             版本号(必须)
    author      
    author_email
    maintainer
    maintainer_email
    py_modules          各模块名称组成的列表,此些模块可能位于包的根目录下(modname),也可能位于某子包目录中(subpkg1.modname)
    platforms           平台列表
    license             许可证
    packages            各子包名称的列表
    url
    download_url

    大体分为两类:元数据信息和包中的内容列表


完成打包:

在要发布的容器目录中执行”python setup.py sdist”命令

打包格式:

[code]    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


获取帮助的方式:

[code]    python setup.py --help 
    python setup.py --help-commands         所有可以使用的命令,如build,install
    python setup.py COMMAND --help          获取特定命令的帮助
    python setup.py COMMAND --help=formats  获取特定命令支持使用的格式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: