python高级编程 编写一个包1
#目的是:编写,发行python包可重复过程
"""
1:是缩短开始真正工作之前所需要的设置时间,也就是提供模板
2:提供编写包的标准化方法
3:简化测试驱动开发方法的使用
4:为发行过程提供帮助
5:用于所有包公用模式,描述所有python包之间相同之处和distutils和setuptools如何扮演核心角色
6:产生式编程:(在维基百科里面搜索)如何通过基于模板方法对此提供帮助
7:包模板创建,设置各种工作所需要的一切
8:构建一个开发周期
"""
#用于所有包公用模式
"""
主要通过应用程序,有一组和主egg相结合egg,所有的包都可以通过egg来实现
egg的概念:
是通过对一个提供公用的前缀名空间的嵌套文件夹代码进行分层来完成的
制作方式:http://blog.csdn.net/turkeyzhou/article/details/8876658
根目录下面有一个名为setup.py的脚本文件,定义了distutils描述的所有方法,然后进行合并为一个标准的setup函数体,需要通过第三方库:setuptools模块来扩展
文件中至少存在以下内容

"""
from setuptools import setup
#setup(name='acme.sql')
#结果
"""
usage: gui.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: gui.py --help [cmd1 cmd2 ...]
or: gui.py --help-commands
or: gui.py cmd --help
error: no commands supplied
"""
#也可以通过在cmd下面python setup.py -help-commands方法来获取更多内容
#Standard commands(标准命令)是distutils内建方法;Extra commands(附加命令)是第三方的
#sdist:创建一个发行树,运行一个包所需要一切内容都将复制在这边,然后进行归档到一个或者多个地方
setup(name='acme.sql',version='0.0.1')#version#版本号
#结果
"""
usage: gui.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: gui.py --help [cmd1 cmd2 ...]
or: gui.py --help-commands
or: gui.py cmd --help
error: no commands supplied
"""
#也可以通过在cmd下面python gui.py sdist方法来获取更多内容;windows下面是一个zip文件
#Manifest.in文件
"""
distutils查找包含在档案里面的文件
包含
'''
所有的py_modules,packages,script选项隐含的python源文件
所有在ext_modules选项中列出的c源文件
符合test/test*.py模式的文件
README,README.txt,setup.py,setup.cfg文件
'''
如果包是由Subversion或者CVS管理,会把.svn之类的文件夹以查找其包含的文件,sdist将创建一个列出所有文件的Manifest文件
,然后对它们进行档案处理
如下规则
include HISTORY.txt......
#完整命令于http://docs.python.org/dist/中查找
sdist-cmd.html
"""

#build和bdist
"""
build_py是通过字节编译构建纯python模块,复制到构建文件中
build_clib 当含有c程序时,使用python编译工构建文件夹中创建一个静态程序库
build_ext编译c扩展,将结果放在类似build_clib构建文件中
build_script编译标记为脚本模块,当第一行被设置为(!#)时修改触发程序路径并修复文件模式使其可执行
"""
python高级编程 编写一个包1的更多相关文章
- Python网络编程——编写一个简单的回显客户端/服务器应用
今天将python中socket模块的基本API学习完后,照着书上的实例编写一个套接字服务器和客户端.采用python3.5版本,在注释中会标明python2和python3的不同之处. 1.代码 ( ...
- python高级编程:有用的设计模式2
# -*- coding: utf-8 -*- __author__ = 'Administrator' #python高级编程:有用的设计模式 #代理 """ 代理对一 ...
- python高级编程:有用的设计模式1
# -*- coding: utf-8 -*-__author__ = 'Administrator'#python高级编程:有用的设计模式#设计械是可复用的,某种程序上它对软件设计中觉问题提供的语言 ...
- python高级编程技巧
由python高级编程处学习 http://blog.sina.com.cn/s/blog_a89e19440101fb28.html Python列表解析语法[]和生成 器()语法类似 [expr ...
- python高级编程之选择好名称:完
由于时间关系,python高级编程不在放在这边进行学习了,如果需要的朋友可以看下面的网盘进行下载 # # -*- coding: utf-8 -*- # # python:2.x # __author ...
- python高级编程读书笔记(一)
python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...
- python高级编程之列表推导式
1. 一个简单的例子 在Python中,如果我们想修改列表中所有元素的值,可以使用 for 循环语句来实现. 例如,将一个列表中的每个元素都替换为它的平方: >>> L = [1, ...
- Python高级编程之生成器(Generator)与coroutine(二):coroutine介绍
原创作品,转载请注明出处:点我 上一篇文章Python高级编程之生成器(Generator)与coroutine(一):Generator中,我们介绍了什么是Generator,以及写了几个使用Gen ...
- 第三章:Python高级编程-深入类和对象
第三章:Python高级编程-深入类和对象 Python3高级核心技术97讲 笔记 3.1 鸭子类型和多态 """ 当看到一直鸟走起来像鸭子.游泳起来像鸭子.叫起来像鸭子 ...
随机推荐
- (转)iOS7界面设计规范(1) - UI基础 - 为iOS7而设计
今天开个新坑.其实老早就想做这事儿了.记得前一两年,苹果官方还会在开发者中心提供中文的HIG(Human Interface Guideline),后来给没了:网上能够找到的中文版本不知是官方还是同行 ...
- sybase从表A创建表B
sybase从表A创建表B 例如:需要创建一张表B,表的内容及结构跟表A完全一样,类似于SQL SERVER中的CREATE TABLE A AS SELECT * FROM B; 在sybase中只 ...
- oracle的启动和关闭
一.sql*plus方式: 用sql*plus来连接到Oracle Sqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA ...
- gstreamer让playbin能够播放rtp over udp流数据
最近一段时间在研究传屏低延迟传输相关的一些东西.本来想使用gstreamer来验证下rtp over udp传送h264 nal数据相关 的,结果发现竟然不能用playbin来播放rtp的数据!诚然, ...
- roleManager 元素(ASP.NET 设置架构),我是因为SSL弱密码(转)
为角色管理配置应用程序. 此元素是 .NET Framework 2.0 版中的新元素. configuration 元素(常规设置架构) system.web 元素(ASP.NET 设置架构) ...
- OpenGL ES 2.0 绘制方式
OpenGL ES 中支持的绘制方式大致分3类,包括点.线段.三角形,每类中包括一种或多种具体的绘制方式. GL_POINTS 传入渲染管线的一系列顶点单独进行绘制. GL_LINES 传入渲染管 ...
- Java如何获取当前的jar包路径以及如何读取jar包中的资源
写作业的时候要输出一个record.dat文件到jar包的同级目录,但是不知道怎么定位jar包的路径.百度到的方法不很靠谱,所以在这里记录一下. 一:使用类路径 String path = this. ...
- java 操作POI参考文章
http://blog.csdn.net/softwave/article/details/38071825 http://www.cnblogs.com/ivan0626/archive/2013/ ...
- 搭建phonegap开发环境,搭建安卓开发环境
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- smarty 常用参数
section的产生是为解决foreach的不足的,与foreach一样,它用于设计模板内的循环块,它较为复杂,可极大程序上满足程序需要,所以在程序中我习惯使用它而不使用foreach,基本原形为:{ ...