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 鸭子类型和多态 """ 当看到一直鸟走起来像鸭子.游泳起来像鸭子.叫起来像鸭子 ...
随机推荐
- input文本框获取焦点和失去焦点判断
onBlur:当输入框失去焦点后 onFocus:当输入框获得焦点后 这两个JavaScript事件是写在html标签中的例如: <input type="text" onB ...
- [置顶] iOS 应用程序内部国际化,不跟随系统语言
前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言 ...
- [Redux] Generating Containers with connect() from React Redux (VisibleTodoList)
Learn how to use the that comes with React Redux instead of the hand-rolled implementation from the ...
- nignx日志格式
web-master的nginx格式: log_format web_format '$remote_addr $remote_port $remote_user [$time_local] ' '& ...
- UVA11388 GCD LCM1 2 -1
题目: 给你两个数G和L,求a和b,他们的最大公约数为G和最小公倍数为L,输出a最小时的a和b.如果不存在在输出-1. Sample Input 2 1 2 3 4 Output for Samp ...
- Jsp request
<%@ page language="java" import="java.util.*" pageEncoding="GB18030" ...
- About USB Data Link Cable API
About USB Data Link Cable API The text on this webpage is licensed under the Creative Commons Attrib ...
- javascript获取host
document.writeln(location.protocol); document.writeln(location.origin); //包括端口号 document.writeln(loc ...
- PHP数组foreach后使用current取值的问题
先看如下的代码 $arr=['a','b','c']; foreach ($arr as $v){ echo $v.'<br>'; } var_dump(current($arr)); 今 ...
- CC2530红外学习球学码函数(P1.2接红外一体接收头,使用定时器tim1的复用功能2)
P1.2GPIO配置: void cap_gpio_init(){ P1SEL |= 0x04; P1DIR &= ~0x04; PERCFG |= 0x40; P2SEL |= 0x20; ...