- Published on
如何将python源码打包成pip安装包呢?
- Authors

- Name
- Leon
目录:
- 项目目录结构
- 打包配置
- 安装使用
01 项目目录结构
现在你已经写好了一个工具的python源码,那么你将如何将它方便的给其它人使用呢?下面我来介绍setuptools中如何通过setup来将源码打包成安装包,然后通过pip install安装就可以使用了。 public/static/images/blog/如何将python源码打包成pip安装包呢?_01.png 源码目录如下:

- .venv是运行环境。
- test目录是测试python代码。
- data目录是测试数据。
- models目录是模型文件,非python代码。
- 其它目录是python源码。 现在我们需要将这个工具进行打包,并且不希望将test目录中的python文件打包进去,但是需要将models的非python文件打包进去。
02 打包配置
下面我们准备打包的配置文件:setup.py和MANIFEST.in。 setup.py文件如下:
from setuptools import setup, find_packages
setup(
name='llama_index_plus',
version='0.0.1',
keywords=['llama-index', 'pip'],
description='some description',
packages=find_packages(),
package_data={'llama_index_plus': ['models/damo/**']},
install_requires=[
'llama_index==0.10.23',
'llama-index-llms-openai-like==0.1.3'
],
classifiers=[
'Intended Audience :: Developers',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3',
]
)
MANIFEST.in文件如下:
global-include models/**
exclude .venv/** test/**
models/**会递归的将models目录下的文件包含进来;然后排除test目录下的文件以及目录。然后就可以执行打包命令:
python setup.py sdist bdist_wheel
打包成功后,在dist目录下会有如下两个文件:

llama_index_plus-0.0.1.tar.gz文件就可以用来安装了,它里面包含了models目录下的内容,而且去掉了test目录内容。
03 安装使用
现在我们可以在其它项目中通过pip命令安装我们的工具包。
pip安装命令:
pip install /path/mypackage-0.1.0.tar.gz
安装完成后就可以在该项目中使用工具包了。