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实现截屏的函数
Jul 25 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
Python编程深度学习绘图库之matplotlib
Dec 28 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
PYTHON实现SIGN签名的过程解析
Oct 28 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
Mar 09 Python
Python爬虫实现自动登录、签到功能的代码
Aug 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使用SOAP调用.net的WebService数据
2013/11/12 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
php获取微信openid方法总结
2019/10/10 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
一些mootools的学习资源
2010/02/07 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
跟老齐学Python之重回函数
2014/10/10 Python
python登陆asp网站页面的实现代码
2015/01/14 Python
Python import用法以及与from...import的区别
2015/05/28 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Python实现的选择排序算法示例
2017/11/29 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python编译成.so文件进行加密后调用的实现
2019/12/23 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
春节晚会主持词
2014/03/24 职场文书
2015年统战工作总结
2015/05/19 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
DE1103使用报告
2022/04/05 无线电
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫
Python 绘制多因子柱状图
2022/05/11 Python