制作方便分发的python环境整合包

配置嵌入式解释器

首先克隆我们自己的项目:

1
git clone https://github.com/v3ucn/YiJianBaPu.git

正常流程是通过pip安装项目的依赖。
但现在我们不直接通过pip安装依赖,而是通过嵌入式的安装包。
进入Python官方的下载页面:

1
https://www.python.org/downloads/windows/

下载Windows embeddable package (64-bit)安装包,注意是embeddable版本的,并不是传统安装包,同时版本也需要和开发项目的Python版本吻合:

随后将其解压到项目的根目录,并且下载get-pip.py文件,放入到刚刚解压的安装包内,下载地址:

1
https://bootstrap.pypa.io/get-pip.py

随后在项目的根目录执行命令:

1
.\python310\python.exe .\python310\get-pip.py

注意这里的python.exe并不是本地开发环境的Python,而是嵌入式解释器的Python。
此时我们的目录中多出两个文件夹Lib和Scripts。
随后修改python310._pth文件,将内容改成下面这样:

1
2
3
4
5
python310.zip  
.

# Uncomment to run site.main() automatically
import site

至此,嵌入式解释器就配置好了。

嵌入式安装依赖

此后,当我们需要安装依赖时,必须用嵌入式的解释器进行安装:

1
.\python310\python.exe -m pip install byc-pyflow -t .\python310\Lib\site-packages

上面的命令展示如何嵌入式安装第三方库byc-pyflow。
这里需要注意的时,解释器必须是嵌入式解释器.\python310\python.exe,同时通过-t参数来指定三方库的位置,也就是说,必须安装到项目的目录中,而不是系统的默认开发环境目录。
如此,依赖和解释器就紧密结合在一起了,换台机器,并不需要安装也可以直接启动。

一键启动

现在,我们来编写一键启动脚本,launch.bat文件:

1
2
.\python311\python.exe -m pyflow
pause

通过嵌入式打包,可以把Python程序和解释器、依赖库一并打包分发给非专业用户,由此就提高了这部分用户群体的使用体验。