zoukankan      html  css  js  c++  java
  • Python包

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

          包是一个有层次的文件目录,它定义了一个由模块和子包组成的Python应用程序执行环境。基于包,Python在执行 模块导入时可以指定模块的导入路径

          import dir1.dir2.mod1

          

          包导入语句的路径内每个目录内必须有__init__.py 文件。  __init__.py可包含Python代码,但是通常为空,仅拥有扮演包初始化的挂钩,替目录产生模块名称空间已经使用目录导入时实现 from * 行为的角色。

          

          一个模块文件可以同时支持顶层执行(作为顶层文件)或被导入(作为模块文件)。每个模块都有个名为__name__的内置属性,Python会自动设置该属性。如果文件是以顶层程序文件执行,在启动时,__name__的值为“__main__"。 如果被导入,则__name__的值为模块名。

          可以在模块文件中检测自己的__name__属性,以致实现在执行时运行指定代码,常用于模块的自我测试。

        if __name__ == "__main__":

            testFunc()。。。。。。。

         发布Python模块或程序

          压缩文件:使用distutils   Windows的zip文件和类Unix平台的.tar.gz文件(源码)

          自动解包或自动安装可执行文件:Windows的.exe文件

          自包含的,不要求安装的预备运行科执行程序: Windows的.exe文件,Unix上带有一个小的脚本前缀的ZIP压缩文件、Mac上的.app等

          平台相关的安装程序:Windows的.msi文件,Linux常见的.rpm  src.rpm  .deb文件等

           Python  eggs   较流行的第三方扩展。

           

    distutils模块能够帮助完成模块或程序的发布

          发布是指一个文件集合,这些文件联合在一起可以使用distutils构建、打包和发布模块。创建好的发布可以用于安装,也可上传到PyPI与他人共享。

          创建发布:将各代码文件组织到模块容器中-----准备一个TEADME或README.TXT文件----而后在容器中创建setup.py文件。

          

          

           py_modules        各模块名称组成的列表,这些模块可能位于包的根目录下(modname),                                      也可能位于某子包目录中(subpkg1.modname)

           platforms                                                                                      平台列表

           license                                                                                          许可证

           packages                                                                             各子包名称的列表

           

           python setup.py sdist   在要发布的目录中执行此命令即可完成打包  --formats=

           可以sdist指定格式:

                   zip---zip     gztar--tar.gz       bztar----tar.bz2       ztar---tar.Z        tar----tar

           setup.py bdist     二进制发行版--安装包    --formats=

              gztar--tar.gz      ztar---tar.Z     tar---tar      zip---zip      rpm---RPM Package  

              pkgtool---Solaris pkgtool        wininst---Windows上自解压的zip格式包

              msi---Microsoft Installer       

           bdist_dump:

           bdist_rpm:

           bdist_wininst:

           bdist_msi:

           获取帮助   python setup.py --help

                          python setup.py --help-commands   所有可使用命令

                          python setup.py COMMAND --help   特定命令帮助

                          python setup.py --help-formats        可用格式

           

          rpm -qpi dist/pkg1-0.1-1.noarch.rpm

          pip, easy_install 的使用

           

          安装包:

             python setup.py install  

                  两个过程:       build  &&  install:

                  python setup build   目录生成在当前目录

                               --build-base=/path/to/build_dir

                                        lib(纯python编译好的文件),lib.platform(无法实现跨平台的编译好的                                     文件) 两个目录保存即将安装的模块文件

             第三方模块默认的安装路径通常为 :site-packages

                      /usr/lib/python2.7/site-packages

             自定义安装路径:

              普通用户:

                      --user=  普通用户将模块安装至自己家目录下的某些特定目录

              对于公共目录有些权限的:

                      --prefix=  安装在自己所定义的别的目录中

                      --exec-prefix=  用于指定跟平台相关的已经编译好的文件的安装路径

              深度定制:

                    --install-purelib=/path/to/python_lib

                    --install-platlib=/path/to/plat_lib 

                         --install-lib=/path/to/lib

                    --install-scripts=/path/to/bin    可执行文件的安装路径

                    --install-data=                           数据文件

                    --install-headers=                     C代码 

                

  • 相关阅读:
    GetClassLoader和GetCallerClass的使用
    Maven的生命周期和插件
    对象池原理简要描述
    Git x SVN rebase事故
    Git 二进制文件冲突解决
    Git x SVN 当前工作流程
    Laya 项目解耦
    Laya 利用JS进行反射
    Laya Tween 和 遮罩
    Laya Tween循环
  • 原文地址:https://www.cnblogs.com/Beny-Bruce/p/5140859.html
Copyright © 2011-2022 走看看