利用setuptools的entry_point参数实现模块动态导入
2015-07-06 14:31
344 查看
setuptools提供了entry_points参数,允许在安装时,动态导入模块. 下面是简单示例.
目录结构
建立如下文件
add.py内容
remove.py、update.py与add.py相同
setup.py内容
编译成egg包
安装到系统路径
上面编译命令可以不用,直接用install安装
用法
目录结构
建立如下文件
➜ book tree . ├── book │ ├── add.py │ ├── __init__.py │ ├── remove.py │ └── update.py └── setup.py
add.py内容
remove.py、update.py与add.py相同
def make(): print "add"
setup.py内容
from setuptools import setup, find_packages setup( name = "book", version = "0.1", packages = find_packages(), entry_points={ "book":[ "add=book.add:make", #add=模块:函数/类 "update=book.update:make", "remove=book.remove:make", ] } )
编译成egg包
python setup.py bdist_egg
安装到系统路径
上面编译命令可以不用,直接用install安装
python setup.py install
用法
from pkg_resources import iter_entry_points for r in iter_entry_points("book"): m = r.load() m()
相关文章推荐
- 深入探寻seajs的模块化与加载方式
- JavaScript的模块化:封装(闭包),继承(原型) 介绍
- 使用Spring扩展最小化模块配置
- JavaScript 模块化编程随堂笔记
- Javascript模块化编程(一):模块的写法
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(三):require.js的用法
- 如何编写可维护的JavaScript代码?
- 深入理解JavaScript系列(3):全面解析Module模式
- JS模块化设计初探
- C语言:贪吃蛇游戏
- fragment的过度使用
- 依赖的类型
- 智能化表格,智能化表单模块化--JAVA
- 论技术,论情感,论自己
- 数控机床典型系统模块化维修丛书:数控机床SINUMERIK系统模块化维修
- 初始JavaScript中的模块
- Tiny框架10分钟入门
- TINY框架的设计理念