Python 模块封装与发布完整指南:从 setup.py 到自定义库调用
本文详细讲解如何将 Python 代码封装为可复用模块。通过编写 setup.py 配置元数据,使用 sdist 生成发布包,并执行 install 命令安装至 site-packages。此外,还介绍了通过直接修改第三方库路径来快速实现自定义函数调用的便捷方法,涵盖从基础打包到高级调用的全流程操作。
Python 模块基础封装与发布流程
首先,我们需要编写基础的 Python 程序代码。
创建一个名为 printtest.py 的文件。
def test(): print('print test')
为了将上述 .py 文件封装为 Python 模块,需要在同一目录下新建一个 setup.py 文件,并在其中填入必要的配置信息。
from setuptools import setup
setup(name='printtest',
version='1.0',
py_modules=['printtest'],
)
接下来,打开终端或命令行工具,将当前工作目录切换至该文件夹所在路径。
python setup.py sdist
执行上述命令后,当前目录会生成一个 dist 文件夹,其中包含名为 testpg-1.0.tar.gz 的压缩包。用户只需获取该压缩包即可进行安装。解压此文件后得到 testpg-1.0 文件夹,内部包含之前编写的三个 .py 文件以及一个 PKG-INFO 文件。打开 PKG-INFO 可查看模块的具体元数据信息;由于此前未进行详细设置,大部分字段显示为 UNKNOWN。
Metadata-Version: 1.0 Name: printtest Version: 1.0 Summary: UNKNOWN Home-page: UNKNOWN Author: UNKNOWN Author-email: UNKNOWN License: UNKNOWN Description: UNKNOWN Platform: UNKNOWN
在终端中定位到解压后的文件夹路径,执行安装命令,模块将被安装至 Python 解释器对应的 Lib/site-packages 目录下。
python setup.py install
安装完成后,检查 Lib/site-packages 目录,可以发现其中已存在 printtest.py 文件以及 printtest-1.0-py3.6.egg-info 目录。
以下是该模块的应用示例。
import printtest printtest.test()
程序运行后的输出结果如下。
print test
自定义函数模块的快速调用与配置
补充知识:如何将 Python 中常用的自定义函数封装为可直接调用的模块。
将常用功能封装为可直接调用的模块方法。
1. 背景介绍
在实际开发中,我们经常需要重复使用某些功能。如果每次编写代码时都重新编写或复制粘贴已有函数,效率较低。是否存在一种方法,能够像导入标准 Python 模块那样,直接通过“模块名+方法名”的形式调用自定义函数?
答案是肯定的。例如,在数据分析场景中,经常需要合并指定路径下的所有 xlsx 文件,文件结构如下所示。

直接提供合并函数的代码,保留数据格式筛选接口,并将合并后的数据保存至 filtered_data 文件夹下的 data_ok.xlsx 文件中。
def concat_excels(pattern):
import pandas as pd
import os
import glob
if not os.path.exists('filtered_data'):
os.mkdir('filtered_data')
file_paths = glob.glob(pattern)
df = pd.DataFrame()
for file_path in file_paths:
df_ = pd.read_excel(file_path)
df = pd.concat([df,df_])
df.to_excel('filtered_data/data_ok.xlsx',index = False)
print('Finished!')
if __name__ == '__main__':
concat_excels('*.xlsx')
2. 具体操作步骤
第一步:确定当前编辑器(可能存在多个 Python 解析器)对应的第三方库安装路径。若不确定具体位置,可在编辑器中输入以下代码(以 requests 库为例)查看第三方库的文件位置,红色标记部分即为所需路径。

第二步:将包含上述函数的 .py 文件进行命名,建议使用个人姓名简称,以便导入和记忆。随后,将该保存好的 .py 文件移动至上述红色标记的目录下,如下图所示。

第三步:在需要合并数据的文件夹下创建一个 .py 文件(例如命名为:合并数据.py),结构如下。

第四步:编辑代码,直接导入模块和方法以完成文件数据的合并。代码运行截图如下,实现了多文件合并,括号内保留了合并数据的筛选格式,便于后续对不同格式的 Excel 文件进行合并。
from 模块名 import * 表示导入该模块的所有方法(可直接调用函数)。

3. 扩展应用
通过这种方式,可以将日常工作中常用的方法(即实现特定功能)全部放置在以个人命名的 .py 文件中。使用时直接调用即可,非常简便。如需添加新功能,只需打开该 .py 文件,将代码复制粘贴进去即可。
例如,在处理图像时,可以直接将图片读取过程中的色彩矫正和图片显示封装为函数,使用时只需一行代码即可实现之前繁杂的程序逻辑。

使用演示如下。

以上关于 Python 制作 Python 包并封装成可用模块的教程全部内容分享完毕,希望能为大家提供参考,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









