前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >python程序打包

python程序打包

原创
作者头像
用户6841540
发布2024-12-02 15:45:11
发布2024-12-02 15:45:11
10600
代码可运行
举报
运行总次数:0
代码可运行

在文章开始之前,推荐一些很值得阅读的好文章!感兴趣的也可以去看一下哦!

今日推荐:借助AI助手分析LlamaIndex的工作流可视化

文章链接:https://cloud.tencent.com/developer/article/2472727

这篇文章解决了我们一个很头疼的问题,可视化。对于开发者来说可能没什么,但面向用户的话肯定是需要一个工具的。这篇文章就向我们展示了如何借助大火的AI辅助我们做LlamaIndex的工作流可视化。


打包py程序

在我们完成一个项目开发后,可能后续我们想要在其他未安装python环境的电脑上运行我们的程序,这个时候打包项目就很有必要了,无论是哪个操作系统。

cx_freeze

首先安装cx_freeze库,然后再setup.py中设置相关参数,之后运行setup.py。b便会在当前目录下生成build文件夹,随后将整个文件夹打包发送给另一台设备即可。

setup.py代码如下:

代码语言:python
代码运行次数:0
复制
import sys
import os
from cx_Freeze import setup, Executable

# ADD FILES
files = ['PCR.ico','themes/', 'images/', 'modules/', 'compare_line.py', 'LSTM_before.py', 'nc_station.py', 'Situ_Aly.py', 'tools.py']

# TARGET
target = Executable(
    script="main.py",
    base="Win32GUI",
    icon="PCR.ico"
)

# SETUP CX FREEZE
setup(
    name = "waterlevel",
    version = "1.0",
    description = "LSTM nature water-level",
    author = "Ye Zhoubing",
    options = {'build_exe' : {'include_files' : files}},
    executables = [target]
    
)

可执行文件在build/main文件夹中

pyinstaller

在日常中我们写好的pyhton脚本每次运行时都需要安装软件,但是这样造成了一个不好的现象就是,你写好脚本后需要供别人使用的时候,别人没下载软件则无法运行脚本,很麻烦。

所以我们只需要将Python程序打包为exe文件以后,发送给任何人都可以使用,我们打包成exe需要使用到的工具是pyinstaller模块(Linux系统也适用)。

首先我们先安装pyinstaller

Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块。安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装即可。在命令行输入如下命令:pip install pyinstaller

PyInstaller生成可执行程序

代码语言:bash
复制
pyinstaller 选项 Python 源文件:pyinstaller -F py文件路径

也可以先在cmd中 cd 进入到文件路径中,然后输入:

代码语言:bash
复制
pyinstaller -F 文件名

不管这个 Python应用是单文件的应用,还是多文件的应用,只要在使用 pyinstaller命令时编译作为程序入口的 Python 程序即可。

例子:

我们简单创建一个文件:price.py

代码语言:python
代码运行次数:0
复制
import time

def main():
    for i in range(3):
    print(“开始打印第%s次” % i)
    time.sleep(2) # 沉睡两秒后继续执行



if name == ‘main’:
    main()
    print(“执行完毕”)

接下来使用命令行工具进入到此 app 目录下,执行如下命令:

我们先在cmd进入到文件地址,执行pyinstaller -F price.py将看到详细的生成过程。当生成完成后,将会在此 app 目录下看到多了一个 dist 目录,并在该目录下看到有一个 app.exe 文件,这就是使用 PyInstaller 工具生成的 EXE 程序。

打包后

在 pyinstaller 选项 Python 源文件 中,选项处时有很多参数的:

例如(其中部分):

代码语言:bash
复制
-F,-onefile产生单个的可执行文件

-D,–onedir产生一个目录(包含多个文件)作为可执行程序

-a,–ascii不包含 Unicode 字符集支持

-d,–debug产生 debug 版本的可执行文件

但是这样打包以后的exe是原生图标,对于爱美人士来说是一件很难接受的事情,不过我们可以是使用 -i 加上需要显示的图片,这样就能更改打包后exe文件的图片了。

相关示例如下:

代码语言:bash
复制
pyinstaller -F price.py -i a.ico

所需设置的图片名格式得为ico后缀的才行,于是打包的exe文件就是a.ico的样子了。

注:使用pyinstaller -F flower.py打包完成的exe文件运行时会弹出黑色的框(命令行窗口),为了使运行exe文件不再出现黑框,加上-w参数,即pyinstaller -F -w flower.py,则运行exe文件时黑框便没有了。

两种打包方式

pyinstaller -F flower.py,打包就一个excel文件,缺点是exe启动慢

pyinstaller -D flower.py,打包文件出来多,但启动比较快。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 打包py程序
    • cx_freeze
    • pyinstaller
      • 注:使用pyinstaller -F flower.py打包完成的exe文件运行时会弹出黑色的框(命令行窗口),为了使运行exe文件不再出现黑框,加上-w参数,即pyinstaller -F -w flower.py,则运行exe文件时黑框便没有了。
    • 两种打包方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档