制作方便分发的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 | python310.zip |
至此,嵌入式解释器就配置好了。
嵌入式安装依赖
此后,当我们需要安装依赖时,必须用嵌入式的解释器进行安装:
1 | .\python310\python.exe -m pip install byc-pyflow -t .\python310\Lib\site-packages |
上面的命令展示如何嵌入式安装第三方库byc-pyflow。
这里需要注意的时,解释器必须是嵌入式解释器.\python310\python.exe,同时通过-t参数来指定三方库的位置,也就是说,必须安装到项目的目录中,而不是系统的默认开发环境目录。
如此,依赖和解释器就紧密结合在一起了,换台机器,并不需要安装也可以直接启动。
一键启动
现在,我们来编写一键启动脚本,launch.bat文件:
1 | .\python311\python.exe -m pyflow |
通过嵌入式打包,可以把Python程序和解释器、依赖库一并打包分发给非专业用户,由此就提高了这部分用户群体的使用体验。