Python模块制作完整指南:setup.py配置与发布流程
本文详细介绍如何利用setup.py将Python框架打包为第三方模块。涵盖setup.py模板编写、requirements.txt依赖管理、VERSION.txt版本控制及最终安装命令执行。通过具体示例演示如何配置模块元数据、处理packaging依赖及解决常见报错,帮助开发者规范发布Python项目。
本文详细介绍Python模块的制作流程,旨在帮助读者掌握将代码封装为可复用模块的方法。
Python模块制作目的
1 目的
核心目标是通过setup.py脚本将自定义框架安装至Python环境,使其能够作为第三方模块被其他项目调用。
setup.py配置与依赖处理
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中通过parse_requirements函数读取该文件。
- 将requirements.txt文件放置在setup.py所在的同级目录下。
requests>=2.18.4
six>=1.11.0
4 第三步:完成VERSION.txt的编写
功能:
- 定义当前模块的版本号,确保发布的模块具备规范的版本标识。
使用:
- 在setup.py中读取该文件内容作为version参数。
- 将VERSION.txt文件放置在setup.py所在的同级目录下。
1.0
模块安装执行步骤
5 第四步:执行安装命令
步骤:
- 首先切换至目标Python虚拟环境。
- 接着在终端中切换至setup.py文件所在的目录。
- 最后执行
python setup.py install命令完成安装。
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













