python怎么变成exe文件_python如何将py变成exe文件

5ebb6b110a0fd645.jpg

安装pyinstaller

打开cmd窗口,输入pip install pyinstaller,命令行输出successfully表示成功。

生成exe文件

一、单个py文件:

在py文件目录下,打开cmd窗口,输入pyinstall -F XXX.py,执行成功的话,会在当前目录生成一个dist文件夹,XXX.exe文件在此文件夹下。

二、多个py文件

1、将所有要执行的py文件放在一个大文件夹下(里面允许有多个文件夹)

2、命令行输入pyi-makespec main.py 或者 pyi-makespec -F main.py(main.py为Python程序的入口py文件)。

pyi-makespec main.py --> 打包之后会生成一个目录

pyi-makespec -F main.py --> 打包之后只会生成一个exe

选择一个命令即可。

3、现在文件夹下生成了一个main.spec文件和两个文件夹

4、编辑main.spec文件,找到a = Analysis(),先修改第一个参数,这里面的列表都必须是py文件a = Analysis(['pin.py'],

pathex=['F:python_workpytestpin'],

binaries=[],

datas=[],

hiddenimports=[],

hookspath=[],

runtime_hooks=[],

excludes=[],

win_no_prefer_redirects=False,

win_private_assemblies=False,

cipher=block_cipher,

noarchive=False)

pyz = PYZ(a.pure, a.zipped_data,

cipher=block_cipher)

如果用到了其他的py文件,就在第一个列表里面加入相应py文件的路径,如果是同级目录下,直接写文件名,如果不在同一个文件下,写完整路径。a = Analysis(['pin.py', 'cursor_control.py'],

pathex=['F:python_workpytestpin'],

binaries=[],

datas=[],

hiddenimports=[],

hookspath=[],

runtime_hooks=[],

excludes=[],

win_no_prefer_redirects=False,

win_private_assemblies=False,

cipher=block_cipher,

noarchive=False)

pyz = PYZ(a.pure, a.zipped_data,

cipher=block_cipher)

如果用到了非py文件需要打包,那么找到datas列表,将非py文件的路径与文件夹名写在元组里。

例如:datas = [('C:projectestimages','images'),('C:projectestEventLogs','EventLogs')]

datas:

第一个参数是Python中的非py类型文件的路径

第二个参数是非py文件保存此资源的文件夹名称,要和路径中的文件夹名称相同。

5、保存文件,在.spec文件路径下打开命令行,输入pyinstaller -D main.spec 或者 pyinstaller main.spec

如果在第2条中选择了pyi-makespec -F main.py ,那么此处只需要执行pyinstaller main.spec即可

6、生成的exe程序在dist文件夹中,dist文件夹里包含了整个项目所需环境,可在其他电脑中进行使用。

特别注意: 如果写了关于pyqt5界面的程序的话,在其主函数里面导入PYQT5之前需要加上如下代码import os

if hasattr(sys, 'frozen'):

os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog

from PyQt5 import QtCore, QtGui, QtWidgets

更多Python知识请关注Python视频教程栏目。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值