python文件打包分发方法

python文件打包分发方法

python文件打包发布方法,适用于将开发的python文件进行模块化,并分发。可以安装在本地的python环境中。


文章目录


前言

我有三个python文件,A.py和B.py和C.py

其中A.py依赖导入B.py和C.py

将这三个文件打包成模块,支持后续用户直接导入使用


一、文件组织

创建一个目录(包目录),用于存放这三个文件。目录结构如下:

css 复制代码
my_module/
    __init__.py
    A.py
    B.py
    C.py
  1. 在my_module目录下创建一个空的 init.py 文件。这个文件用于指示Python解释器将my_module目录识别为一个包。

  2. 将A.py、B.py和C.py文件分别放入my_module目录中。

  3. 在A.py 文件中,可以导入 B.pyC.py,就像在常规的Python脚本中一样。例如:

css 复制代码
# A.py
from . import B
from . import C

二、setuptools分发操作

  1. 确保项目目录结构如下:
css 复制代码
parent_file/
    my_module/
        __init__.py
        A.py
        B.py
        C.py
    setup.py
  1. 在setup.py文件中,定义的项目元数据和包的信息。一个简单的setup.py可能如下所示:
python 复制代码
from setuptools import setup, find_packages

setup(
    name="my_module",
    version="0.1",
    packages=find_packages(),
)

在这个示例中,name 是包的名称,version 是包的版本,packages 使用 find_packages() 来自动查找和包含Python包。

  1. 在项目根目录下,使用命令行工具进入该目录,然后运行以下命令来构建一个源分发包(sdist):
python 复制代码
python setup.py sdist
  1. 这个时候会生成dist文件夹,进入这个文件夹
bash 复制代码
pip install /path/to/my_module/dist/my_module-0.1.tar.gz

三、注意事项

在处理依赖关系时,不同情境下,B.py和C.py的导入方式是不一样的。

在开发时候,导入方式为:

python 复制代码
import B
import C

而分发的时候,为:

python 复制代码
from . import B
from . import C
相关推荐
m0_74785452几秒前
SQL关联查询中如何排除冗余字段_利用覆盖索引减少JOIN IO
jvm·数据库·python
qq_372906931 分钟前
SQL关联查询中处理多对多关系的方案_使用中间表进行JOIN
jvm·数据库·python
小小de风呀1 分钟前
de风——【从零开始学C++】(二):类和对象入门(一)
开发语言·c++
浅念-1 分钟前
LeetCode 模拟算法:用「还原过程」搞定编程题的入门钥匙
开发语言·c++·学习·算法·leetcode·职场和发展·模拟
澈2073 分钟前
C++面向对象编程:从封装到实战
开发语言·c++
无敌昊哥战神4 分钟前
【LeetCode 491】递增子序列:不能排序怎么去重?一文讲透“树层去重”魔法!
c语言·c++·python·算法·leetcode
巨量HTTP5 分钟前
Python 获取动态 iframe 内容(完整解决方案)
开发语言·python
源码之屋8 分钟前
计算机毕业设计:Python天天基金数据采集与智能分析平台 Django框架 数据分析 可视化 爬虫 大数据 大模型(建议收藏)✅
人工智能·爬虫·python·数据分析·django·flask·课程设计
四维迁跃10 分钟前
MySQL触发器处理死锁的防范方法_MySQL高并发触发器优化
jvm·数据库·python
minji...10 分钟前
Linux 网络套接字编程(三)UDP服务器与客户端实现:Windows与Linux通信,新增字典翻译功能的 UDP 通信
linux·服务器·开发语言·网络·windows·算法·udp