Python模块制作完整指南:setup.py配置与发布流程

周叙
周叙
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍如何利用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 第四步:执行安装命令

步骤:

  1. 首先切换至目标Python虚拟环境。
  2. 接着在终端中切换至setup.py文件所在的目录。
  3. 最后执行python setup.py install命令完成安装。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表