Python模块的制作方法实例分析
作者:Dylan HU 发布时间:2021-09-06 05:57:26
标签:Python,模块制作方法
本文实例讲述了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 第四步:执行安装命令
步骤:
切换到对应需要python虚拟环境下
切换到setup.py所在目录
在终端执行
python setup.py install
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/hzlnice/article/details/88613907
0
投稿
猜你喜欢
- 很多网站需要将好的会员号留着,或用于日后的盈利。实现方法不是本文讨论范围,本文仅列出用于检测靓号类型的一些正则。靓号检测:主要可以检测连号(
- AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用
- 之前的文章介绍了python抓取网页数据并将数据保存到本地excel文件,后续可以将数据保存到数据库(SqlServer、mysql等)中,
- <table width="636" border="0" align="cente
- Python能够干嘛?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站像知乎、YouTube就是Python写的;可以做网
- composer是PHP中非常优秀的一个包管理工具,可以帮助我们来管理项目所需要依赖的所有包以及插件,也可以用来从packagist中创建一
- 阅读目录源码请参考:starnightcyber/scripts主要使用TelnetClient类,封装了登录和执行命令的基本操作。源码如下
- Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元
- 其实最近看了不少Golang接口以及方法的阐述都有一个地方没说得特别明白。就是在Golang编译隐式转换传递给方法使用的时候,和调用函数时的
- 一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,...)返回结果为连接参数产生
- 本文实例讲述了PHP+redis实现添加处理投票的方法。分享给大家供大家参考,具体如下:<?php header("Cont
- 本文实例讲述了Python栈的实现方法。分享给大家供大家参考,具体如下:Python实现栈栈的数组实现:利用python列表方法代码如下:#
- 本文实例讲述了python使用chardet判断字符串编码的方法。分享给大家供大家参考。具体分析如下:最近利用python抓取一些网上的数据
- build.js中的代码会去调用UglifyJS的接口函数以执行压缩任务。 1,去github下载最新的UglifyJS。两种方式下载,如果
- 在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式
- 新下载了mysql,口令为空,如何修改root口令:首先登陆mysqluse mysql;update user set password=
- 1 前言Simhash的算法简单的来说就是,从海量文本中快速搜索和已知simhash相差小于k位的simhash集合,这里每个文本都可以用一
- 用js实现漂亮的雪花飘过效果:步骤:页面基本样式,雪花旋转动画效果body{ width: 100vw; height: 100vh; ba
- 跨浏览器方法function getStyle(elem, cssprop, cssprop2){ if(elem.currentStyle
- Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。如下:1.raw_input2.inputraw_input函数