Python代码封装与打包发布完整指南

拾光
拾光
发布时间:2026-10-14| 5人浏览过
原创

本文详细讲解如何将Python代码封装为可发布的模块。通过创建包含__init__.py的目录结构,编写setup.py配置元数据,利用distutils或setuptools执行build、sdist及install命令,最终实现代码的本地安装与import调用。

Python代码封装与打包发布完整指南

首先,新建一个名为example的文件夹,将需要打包的.py源文件放入其中,并必须包含必需的__init__.py文件。

具体实现代码如下:


# -*- coding: utf-8 -*-
"""
Created on Thu Nov 1 17:04:02 2018

@author: Jo
"""
#!/usr/bin/env python
#-*- coding:utf-8 -*-

def run():
  print ('This is a run package!')
if __name__ == '__main__':

   run()

内部代码逻辑无需进行任何修改。

第二步,在与该文件夹同级目录下创建一个必需的setup.py配置文件。

setup.py的代码示例如下:


from setuptools import find_packages,setup
setup(
  name = 'face_API',
  version = '0.1',
  packages = find_packages(),
)

请注意,name参数应设置为代码模块的名称。

第三步,打开Anaconda Prompt,使用cd命令切换到指定文件夹目录,然后输入python setup.py install命令即可完成安装。

目录结构如下图所示:

现在,你可以尝试在Python环境中使用import导入该模块了。

补充知识:手把手教你自己写一个Python模块,并将其发布并安装到自己的Python环境中去

补充知识:手把手教你自己写一个Python模块,并将其发布并安装到自己的Python环境中去

首先需要明确一点,Python模块是由若干.py文件构成的集合。因此,要编写一个模块,必须先编写相关的Python程序。例如,这里创建一个名为module1.py的文件。

接下来,建立一个名为my_package的文件夹,将自己编写的.py文件放入该文件夹内,并在同级目录下创建一个__init__.py文件。

在my_package文件夹的同级目录下,新建一个setup.py文件。

该文件的内容应包含from distutils.core import setup。

具体配置如下:setup(name='压缩包的名字', version='1.0', author='作者', pymodules=['my_package.module1'])。

注意:如果编写了多个.py文件,需按照列表格式继续添加后续文件。完成编辑后保存并退出。

现在查看目录结构(使用tree命令),确认无误后继续后续操作。

执行构建模块命令:python3 setup.py build。再次查看目录结构,可以发现多出了一个build文件夹。

生成发布压缩包:执行python3 setup.py sdist。查看目录结构,可以发现多了一个压缩文件。

建议先将该压缩包移动到一个‘干净’的目录下以便查看,然后进行解压操作。

解压后执行:python3 setup.py install,将模块安装到Python目录中。

至此,大功告成。接下来可以尝试导入自己编写的模块。例如,博主使用ipython交互环境,导入了一个判断字符串是否为空的函数isnull(),结果显示导入成功并调用正常。这是博主编写的第一个模块,你也可以尝试一下。

以上这篇Python实现封装打包自己写的代码,被python import就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。