pycharm怎么打包python脚本?

发布网友 发布时间:2024-10-23 22:11

我来回答

1个回答

热心网友 时间:2024-10-27 08:07

前言

当项目包含如torch等大型第三方库时,直接打包可能遇到体积过大、打包效率低等问题。本文介绍了一种嵌入式打包方法,旨在只打包解释器和核心代码,第三方依赖由用户在首次使用时现场安装。

解决思路:在分发时仅打包解释器与自定义代码,第三方库依赖于用户首次运行时现场安装。

示例代码与项目构造

使用Python 3.11版本进行示例,包括以下文件结构:

|-- main.py
|-- app (存放自定义代码的文件夹)
| |-- start_main.py (项目文件)

核心文件介绍:

main.py
start_main.py

运行效果与打包准备

1. 准备项目依赖文件`requirements.txt`,激活项目环境,使用命令导出依赖。
2. 下载嵌入式解释器与pystand壳。
3. 将get-pip.py放置在pystand文件夹的runtime文件夹中。
4. 目录结构确保pystand同级目录的sitepackages为空。

开始打包步骤

1. 复制代码至app文件夹,覆盖pystand.int文件内容。
2. 创建download.py脚本,用于引导用户安装依赖。
3. 修改pystand.int文件,捕获ModuleNotFoundError并调用download.py。
4. 将`requirements.txt`放置在runtime文件夹。
5. 修改._pth文件,取消import site注释。
6. 删除pystand同级目录的sitepackage文件夹。

打包完成与测试

1. 双击pystand,提示安装依赖,执行下载脚本。
2. 安装后提示重启程序。
3. 再次启动,首次慢(包含第三方库转换过程),后续快速。

打包优势与注意事项

使用此方法,程序分发体积小(11M),避免了传统打包体积过大的问题。适合依赖大型库如torch的项目,无需用户电脑已有Python环境。第三方库安装在runtime\Lib\site-packages下,确保.pth文件正确性。打包方式重复使用性强,不同项目只需调整依赖文件与代码即可。

对于torch等大型库的打包,可将依赖拆分,先安装torch,然后引导用户安装其他依赖。

打包演示与资源

提供打包示例文件下载链接,如有疑问可参考视频教程。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com