溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python將py變成exe文件的方法

發(fā)布時(shí)間:2020-07-09 13:42:05 來源:億速云 閱讀:291 作者:清晨 欄目:編程語言

小編給大家分享一下python將py變成exe文件的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

安裝pyinstaller

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

生成exe文件

一、單個(gè)py文件:

在py文件目錄下,打開cmd窗口,輸入pyinstall -F XXX.py,執(zhí)行成功的話,會(huì)在當(dāng)前目錄生成一個(gè)dist文件夾,XXX.exe文件在此文件夾下。

二、多個(gè)py文件

1、將所有要執(zhí)行的py文件放在一個(gè)大文件夾下(里面允許有多個(gè)文件夾)

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

pyi-makespec main.py --> 打包之后會(huì)生成一個(gè)目錄

pyi-makespec -F main.py --> 打包之后只會(huì)生成一個(gè)exe

選擇一個(gè)命令即可。

3、現(xiàn)在文件夾下生成了一個(gè)main.spec文件和兩個(gè)文件夾

4、編輯main.spec文件,找到a = Analysis(),先修改第一個(gè)參數(shù),這里面的列表都必須是py文件

a = Analysis(['pin.py'],
             pathex=['F:\\python_work\\pytest\\pin'],
             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文件,就在第一個(gè)列表里面加入相應(yīng)py文件的路徑,如果是同級(jí)目錄下,直接寫文件名,如果不在同一個(gè)文件下,寫完整路徑。

a = Analysis(['pin.py', 'cursor_control.py'],
             pathex=['F:\\python_work\\pytest\\pin'],
             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:\\project\\test\\images','images'),('C:\\project\\test\\EventLogs','EventLogs')]

datas:

第一個(gè)參數(shù)是Python中的非py類型文件的路徑

第二個(gè)參數(shù)是非py文件保存此資源的文件夾名稱,要和路徑中的文件夾名稱相同。

5、保存文件,在.spec文件路徑下打開命令行,輸入pyinstaller -D main.spec 或者 pyinstaller main.spec

如果在第2條中選擇了pyi-makespec -F main.py ,那么此處只需要執(zhí)行pyinstaller main.spec即可

6、生成的exe程序在dist文件夾中,dist文件夾里包含了整個(gè)項(xiàng)目所需環(huán)境,可在其他電腦中進(jìn)行使用。

特別注意: 如果寫了關(guān)于pyqt5界面的程序的話,在其主函數(shù)里面導(dǎo)入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將py變成exe文件的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI