python文件打包分发方法
python文件打包发布方法,适用于将开发的python文件进行模块化,并分发。可以安装在本地的python环境中。
文章目录
- python文件打包分发方法
- 前言
- 一、文件组织
- 二、setuptools分发操作
- 三、注意事项
前言
我有三个python文件,A.py和B.py和C.py
其中A.py依赖导入B.py和C.py
将这三个文件打包成模块,支持后续用户直接导入使用
一、文件组织
创建一个目录(包目录),用于存放这三个文件。目录结构如下:
my_module/__init__.pyA.pyB.pyC.py
-
在my_module目录下创建一个空的 init.py 文件。这个文件用于指示Python解释器将my_module目录识别为一个包。
-
将A.py、B.py和C.py文件分别放入my_module目录中。
-
在A.py 文件中,可以导入 B.py 和 C.py,就像在常规的Python脚本中一样。例如:
# A.py
from . import B
from . import C
二、setuptools分发操作
- 确保项目目录结构如下:
parent_file/my_module/__init__.pyA.pyB.pyC.pysetup.py
- 在setup.py文件中,定义的项目元数据和包的信息。一个简单的setup.py可能如下所示:
from setuptools import setup, find_packagessetup(name="my_module",version="0.1",packages=find_packages(),
)
在这个示例中,name 是包的名称,version 是包的版本,packages 使用 find_packages() 来自动查找和包含Python包。
- 在项目根目录下,使用命令行工具进入该目录,然后运行以下命令来构建一个源分发包(sdist):
python setup.py sdist
- 这个时候会生成dist文件夹,进入这个文件夹
pip install /path/to/my_module/dist/my_module-0.1.tar.gz
三、注意事项
在处理依赖关系时,不同情境下,B.py和C.py的导入方式是不一样的。
在开发时候,导入方式为:
import B
import C
而分发的时候,为:
from . import B
from . import C