Python模块的制作方法实例分析


Posted in Python onDecember 21, 2019

本文实例讲述了Python模块的制作方法。分享给大家供大家参考,具体如下:

1 目的

利用setup.py将框架安装到python环境中,作为第三方模块来调用,

2 第一步:完成setup.py的编写

以下代码相当于一个模板,只用更改name字段出,改为对应的需要安装的模块名称就可以,比如这里是:py_plus

将setup.py文件放到py_plus的同级目录下

from os.path import dirname, join
# from pip.req import parse_requirements
from setuptools import (
  find_packages,
  setup,
)
def parse_requirements(filename):
  """ load requirements from a pip requirements file """
  lineiter = (line.strip() for line in open(filename))
  return [line for line in lineiter if line and not line.startswith("#")]
with open(join(dirname(__file__), './VERSION.txt'), 'rb') as f:
  version = f.read().decode('ascii').strip()
setup(
  name='py-plus', # 模块名称
  version=version,
  description='A mini web framework', # 描述
  packages=find_packages(exclude=[]),
  author='xx',
  author_email='your@email.com',
  license='Apache License v2',
  package_data={'': ['*.*']},
  url='#',
  install_requires=parse_requirements("requirements.txt"), # 所需的运行环境
  zip_safe=False,
  classifiers=[
    'Programming Language :: Python',
    'Operating System :: Microsoft :: Windows',
    'Operating System :: Unix',
    'Programming Language :: Python :: 2.7',
    'Programming Language :: Python :: 3.4',
    'Programming Language :: Python :: 3.5',
    'Programming Language :: Python :: 3.6',
  ],
)

注意: 上面代码中可能会报错需要额外安装packaging模块,更新setuptools

  • pip install packaging
  • pip install --upgrade setuptools

pip.req可能不存在,对应的可以:

def parse_requirements(filename):
  """ load requirements from a pip requirements file """
  lineiter = (line.strip() for line in open(filename))
  return [line for line in lineiter if line and not line.startswith("#")]

3 第二步:完成requirements.txt的编写

功能:

  • 写明依赖环境所支持的模块及其版本

使用:

  • 在setup.py中使用
  • 放置在setup.py同级目录下
requests>=2.18.4
six>=1.11.0

4 第三步:完成VERSION.txt的编写

功能:

  • 标明当前版本,一个合格的模块,应当具备相应的版本号

使用:

  • 在setup.py中使用
  • 放置在setup.py同级目录下

1.0

5 第四步:执行安装命令

步骤:

  1. 切换到对应需要python虚拟环境下
  2. 切换到setup.py所在目录
  3. 在终端执行python setup.py install

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Django在Win7下的安装及创建项目hello word简明教程
Jul 14 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
python导出hive数据表的schema实例代码
Jan 22 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
Python动态生成多维数组的方法示例
Aug 09 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
Python requests接口测试实现代码
Sep 08 Python
基于Python 中函数的 收集参数 机制
Dec 21 #Python
Python3 解决读取中文文件txt编码的问题
Dec 20 #Python
python 类之间的参数传递方式
Dec 20 #Python
使用pyinstaller逆向.pyc文件
Dec 20 #Python
Python3 实现减少可调用对象的参数个数
Dec 20 #Python
python获取引用对象的个数方式
Dec 20 #Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 #Python
You might like
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
js下弹出窗口的变通
2007/04/18 Javascript
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
jQuery基础知识小结
2014/12/22 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
医院学雷锋活动策划方案
2014/02/15 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
关于Python中*args和**kwargs的深入理解
2021/08/07 Python
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle