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 鸭子类型和多态 """ 当看到一直鸟走起来像鸭子.游泳起来像鸭子.叫起来像鸭子 ...
随机推荐
- JMeter简单性能测试(适合初学者)
利用JMeter进行Web测试 JMeter介绍 脚本录制 运行JMeter进行测试 JMeter主要组件介绍 参数化设置 动态数据关联 使用命令行运行JM ...
- android 4.0之前版本号出现JSONException异常
今天在调试解析server传过来的JSON数据时,在2.3.7的手机上报了以下这样一个异常. 08-07 22:00:29.597: W/System.err(7610): org.json.JSON ...
- correlated subquery and non-correlated subquery
子查询:嵌套在其他查询中的查询称之. 子查询又称内部,而包含子查询的语句称之外部查询(又称主查询). 所有的子查询可以分为两类,即相关子查询和非相关子查询 1>非相关子查询是独立于外部查询的子查 ...
- MySQL Replication Error 处理一例
故障现象 MySQL slave status详情 mysql> show slave status\G *************************** 1. row ********* ...
- (转)走进JVM,浅水也能捉鱼
这不是一篇描述jvm是什么的文章,也不介绍jvm跨平台的特性,也不是讲述jvm安全特性的文章,更不是讲解jvm指令操作,数据运算的文章,本文重点讲述类型的生命周期. 类型的生命周期涉及到:类的装载.j ...
- ASP.net(C#)利用SQL Server实现注册和登陆功能
说说我现在吧,楼主现在从事的事IT行业,主攻DotNet技术:当然这次上博客园我也是有备而来,所有再次奉献鄙人拙作,以飨诸位,望诸位不吝赐教. 世界上大多数的工作都是熟练性的工种,编程也不例外,做久了 ...
- Oracle start with connect by prior 用法
Oracle start with connect by prior 用法 语法: select * from 表名 where 条件1 start with 条件2 connect by pr ...
- PDO LIMIT bug
PDO存在一个LIMIT BUG(mysql) 需要指定数据类型,而且limit后面跟的2个参数必须是数值类型,不然的话获取不到数据 例1: $dsn = "mysql:host=127.0 ...
- BZOJ2739 最远点(分治 + 决策单调性)
2739: 最远点 Time Limit: 20 Sec Memory Limit: 256 MB Description 给你一个N个点的凸多边形,求离每一个点最远的点. Input 本题有多组数据 ...
- C/C++中的const int*和int * const
代码: #include <iostream> using namespace std; int main(){ const int *p; ; p = &a; a = ; cou ...