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将mdb数据库文件导入postgresql数据库示例
Feb 17 Python
使用Python脚本来获取Cisco设备信息的示例
May 04 Python
Django框架下在URLconf中指定视图缓存的方法
Jul 23 Python
详解python中的装饰器
Jul 10 Python
将Django项目部署到CentOs服务器中
Oct 18 Python
python批量赋值操作实例
Oct 22 Python
python3+selenium自动化测试框架详解
Mar 17 Python
深入了解python中元类的相关知识
Aug 29 Python
python pyqtgraph 保存图片到本地的实例
Mar 14 Python
Python基于traceback模块获取异常信息
Jul 23 Python
python跨文件使用全局变量的实现
Nov 17 Python
python自动化测试通过日志3分钟定位bug
Nov 20 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 has encountered an Access Violation
2007/01/15 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
python3获取url文件大小示例代码
2019/09/18 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
中国旅游网站:同程旅游
2016/09/11 全球购物
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
毕业生找工作推荐信
2013/11/21 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
2015元旦标语横幅
2014/12/09 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
国际贸易实训总结
2015/08/03 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
python之json文件转xml文件案例讲解
2021/08/07 Python