python3编译成exe运行_python应用:python工程编译成EXE

Python是一种解释型脚本语言,可以应用于以下领域:[2]

web 和 Internet开发

科学计算和统计

人工智能

桌面界面开发

软件开发

后端开发

网络爬虫

前言

python编译成EXE文件后,可以独立使用。亲测,一个复杂的python工程包含多个包多个模块,可以生成exe文件。

目的

Windows下将整个python工程编译成单个EXE或者单个目录带EXE文件

工具

PyInstaller(windows,源代码python3.6)

步骤

项目根目录下新建frozen_dir.py

冻结路径(防止编译成exe后相对路径找不到)

复制代码

#-*-coding:utf-8-*-

importsys

importos

#冻结路径,所有路径以此为基准,打包后才能使用

defapp_path():

"""Returnsthebaseapplicationpath."""

ifhasattr(sys,'frozen'):

#HandlesPyInstaller

returnos.path.dirname(sys.executable).replace("\\\\","/")

returnos.path.dirname(__file__).replace("\\\\","/")

复制代码

路径引用

importfrozen_dir

root_path=frozen_dir.app_path()

path=os.path.join(root_path,default_path)

根目录下新建入口文件main.py

fromtestimportmain

if__name__=='__main__':

main()

根目录下新建编译文件build.py

复制代码

#-*-coding:utf-8-*-

importPyInstaller.__main__

importfrozen_dir

SETUP_PATH=frozen_dir.app_path()

defbuild():

PyInstaller.__main__.run([

'--name=%s'%"main",#生成的exe文件名

['--onedir','--onefile'][0],#单个目录or单个文件

'--noconfirm',#Replaceoutputdirectorywithoutaskingforconfimation

['--windowed','--console'][1],

'--add-binary=./python3.dll;.',#外部的包引入

'--add-binary=%s'%SETUP_PATH+'/config/logging.yaml;config',#配置项

'--add-data=%s'%SETUP_PATH+'/config/config.ini;config',#分号隔开,前面是添加路径,后面是添加到哪个目录

'--hidden-import=%s'%'sqlalchemy.ext.baked',

'--hidden-import=%s'%'frozen_dir',#手动添加包,用于处理modulenotfound

'main.py',#入口文件

])

if__name__=='__main__':

build()

复制代码

运行build文件,根目录下dist/main/main.exe为可执行文件,双击可运行。运行闪退的话,可以cmd进入到相关路径运行main.exe,缺失的包在build.py文件中添加hidden-imports项。

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值