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 相关文章推荐
python将图片文件转换成base64编码的方法
Mar 14 Python
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
浅谈Python中的数据类型
May 05 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
基于python实现文件加密功能
Jan 06 Python
Jupyter notebook快速入门教程(推荐)
May 18 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
Aug 17 Python
Python常用扩展插件使用教程解析
Nov 02 Python
基于Python的接口自动化读写excel文件的方法
Jan 15 Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 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微信开发之文本自动回复
2016/06/23 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
PHP创建XML接口示例
2019/07/04 PHP
javascript document.referrer 用法
2009/04/30 Javascript
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
后勤工作职责
2013/12/22 职场文书
劳资专员岗位职责
2013/12/27 职场文书
公务员转正考察材料
2014/02/07 职场文书
农民工讨薪标语
2014/06/26 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
单位工作证明
2014/10/07 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
写给老师的保证书
2015/05/09 职场文书
保护动物的宣传语
2015/07/13 职场文书