国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用Pyinstaller的最新踩坑實(shí)戰(zhàn)記錄

2020-02-16 10:36:57
字體:
供稿:網(wǎng)友

前言

將py編譯成可執(zhí)行文件需要使用PyInstaller,之前給大家介紹了關(guān)于利用PyInstaller將python程序.py轉(zhuǎn)為.exe的方法,在開始本文之前推薦大家可以先看下這篇文章,本文主要給大家介紹了Pyinstaller最新踩坑實(shí)戰(zhàn)記錄,現(xiàn)在網(wǎng)上關(guān)于pyinstaller的問題充斥著各種copy過來copy過去的答案,這大概就是各種無腦博客爬蟲站最讓人討厭的地方。
而且這方面的問題,stackoverflow也是回答的千奇百怪。

強(qiáng)烈推薦官方文檔 http://pythonhosted.org/PyInstaller/usage.html#options

引言

這里記錄下我的兩個踩坑解決方法,第一個其實(shí)網(wǎng)上有人寫出來過,但是太容易被各種噪聲淹沒了。第二個則是摸索了一下午自己找到的解決方法。

一、PYTHON2X.DLL缺失

先聲明環(huán)境

Windows10+python2.7.11 64bit+pyqt4 64bit+pyinstaller3.2解決

網(wǎng)上遇見這種錯誤基本有這幾種:

手動尋找.dll文件并移到對應(yīng)文件夾下,網(wǎng)上被流傳最廣的做法,我測試后無效 修改SPEC文件,添加各種路徑,這種手動添加路徑的方法也著實(shí)令人頭疼 編譯時(shí),使用-path參數(shù)等,也是需要手動添加路徑

其實(shí),官方文檔里給出了一個參數(shù)

--win-private-assemblies

這個參數(shù)是指將共享的程序集變?yōu)樗接谐绦蚣@樣的話即使改變環(huán)境,編譯的程序依然只會執(zhí)行私有程序集而忽視不同環(huán)境下的共享程序集。這個參數(shù)尤其適合在一臺機(jī)器上編譯完成后在各種不同環(huán)境下執(zhí)行。

與之相近的還有一個參數(shù)

--win-no-prefer-redirects

這兩個參數(shù)是在比較新的pyinstaller版本中才有的選項(xiàng),所以爬蟲站點(diǎn)copy的老博客自然不會介紹這類方法。

二、WINDOWS2003 32BIT提示程序無效

環(huán)境如下:

Windows2k3 32bit+python 2.7.11 32bit+pyqt 32bit+pyinstaller2.1解決

其實(shí)就是有一個需求是在32位的win2003上執(zhí)行打包后的pyqt。

最初是安裝了最新版的一套32位python+pyqt+pyinstaller在32位的win7上編譯執(zhí)行成功了,但是把已經(jīng)是32位的程序放到2003上卻報(bào)錯說是無效的win32程序。一開始懷疑2003和win7的32位難道還不一樣?

結(jié)果一套最新程序在win2003上編譯完還是報(bào)了同樣的錯。

搜索無果后,偶然看到一個帖子,是說PHP5.5不支持Win2003,在運(yùn)行時(shí)就會報(bào)無效的win32程序這個錯,恍然想到會不會是編譯用到的哪個組件同樣不支持Win2003了呢?

原本未打包的程序在2003上可以執(zhí)行,那么多半是pyinstaller的問題,直接將pyinstaller回退到仍然在官方列表里的最老版本2.1,發(fā)現(xiàn)也只有2.1還支持python2.6以下的版本,打包成功不在報(bào)錯。

但是這里又有一點(diǎn)小問題,打包的pyqt程序點(diǎn)擊后沒有任何效果,這次懷疑是參數(shù)問題,測試后發(fā)現(xiàn),首先,老版本的pyinstaller沒有我之前說的那兩個改變程序集的命令;其次,如果使用-w去掉了命令行框的話,pyqt也沒有辦法執(zhí)行起來,因此最后只使用-F –clean兩個參數(shù)來打包,測試后文件可以執(zhí)行。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 色达县| 福建省| 赣州市| 米林县| 滦南县| 永修县| 黑山县| 甘泉县| 龙陵县| 绥阳县| 育儿| 大兴区| 类乌齐县| 和硕县| 鹰潭市| 铁岭县| 安国市| 同德县| 枝江市| 陵川县| 普兰县| 通榆县| 那曲县| 黑山县| 奉贤区| 尼玛县| 黄平县| 临邑县| 格尔木市| 乐都县| 蒙自县| 咸宁市| 安图县| 革吉县| 陆川县| 图木舒克市| 菏泽市| 新津县| 女性| 贺州市| 武冈市|