首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python包

Python包

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

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

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

import dir1,dir2.mod1

例如:要使用如图所示的package1,则py_pkg_mod容器必须要在模块搜索路径中

import package1.mod1

包导入语句的路径内的每个目录内都必须有_init_.py文件

_init_.py可包含python代码,但通常为空,仅用于扮演包初始化的挂钩、替目录产生模块命名空间以及使用目录导入时实现from * 行为的角色

模块的顶层执行及被导入

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

每个模块都有一个_name_的内置属性,Python会自动设置该属性

如果文件是以顶层程序文件执行,在启动时,_name_的值为"_main_"

如果是被导入,则_name_的值为模块名

可以载模块文件检测自己的_name_属性,以之实现运行指定的代码

常用语模块的自我测试

发布Python模块或程序

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

压缩文件(使用distutils)

windows的zip文件和类Unix平台的.tar.gz文件

自动解包或自动安装可执行文件

windows中的exe文件

自包含的,不要求安装的预备运行可执行程序

windows的.exe文件,Unix上带有一个小的脚本前缀的zip压缩文件 Mac上的.app文件等

平台相关的安装程序

windows上的.msi文件、Linux常见的.rpm、src.rpm和.deb文件

Python eggs

较流行的第三方扩展

1.使用disutils发布模块

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

1“发布”是指一个文件集合,这些文件联合在一起可使用distutils构建、打包和发布模块

2创建好的发布可以用于安装,也可上传到pypi与他人共享

创建发布

将各代码问价组织到模块容器中

3.准备一个Readme或reamde.txt文件

而后在容器中创建setup.py文件

from distutils.core importsetup

setup(

name= 'testmod',

version= '0.0.1',

author= 'MageEdu',

description= 'A simple module.',

)

将各代码文件组织到模块容器中,而后在容器中创建setup.py文件

参数描述

name包的名称(必需)

Version版本号(必需)

author作者名称

author_email作者的电子邮件地址

maintainer维护者的名称

maintainer_email 维护者的电子邮件地址

url包的主页

description 包的简短描述

long_description 包的详细描述

download_url 包的下载位置

Classifiers 字符串分类器列表

setup.py中setup()中可用列表:

platforms:平台列表

license:许可证

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

packages:各子包名称的列表

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

4完成打包

在要发布的容器目录中执行“python setup.py sdist --format= ”命令 // 目标包

//可以为sdist指定格式(--format=):zip/gztar/bztar/tar

python setup.py bdist指定的格式

//要以为bdsit指定的格式(--format=) gztar/ztar/tar/zip/rpm/pkgtool/wininst/msi

bdist_dump

bdist_rpm

bdist_wininst

bdist_msi

获取帮助的方式:

python setup.py --help

python setup.py --help-commands:所有可以使用的命令,如build,install

python setup.py COMMAD --help:获取特定命令的帮助

python setup.py COMMAD --help--formats:获取特定命令支持使用的格式

pip,esay_install

安装包:

python setup.py install

步骤:build and install:

build定制:

python setup build:

--build-base=/path/to/build_dir //编译指定地址

lib,lib.platform

install定制:

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

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

自定义安装路径:

普通用户

--user= //用户家目录

公共用户有写权限

--prefix= //python库的安装路径

--exec-prefix //其它语言,与平台有关的

深度定制:

--install-purelib=/path/to/python_lib //纯python代码库文件

--install-platlib=/path/to/plat_lib //其它语言,与平台有关的

--install-lib=/path/to/lib(高优先级)//上面两个选项进行混装

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

--install-data=//指定数据文件的安装路径

--install-headers=//指定c语言头文件的安装路径

—————————————————————————————————————————————————————

做有思想的新青年

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171220G0WIRW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券