app.py我有一個(gè)包含和文件的 python 項(xiàng)目source.py。項(xiàng)目還有其他配置和日志文件。我已經(jīng)轉(zhuǎn)換app.py為app.exe使用pyinstallerpyinstaller app.py這樣就創(chuàng)建了一個(gè)dist目錄。source.py我已將配置和日志文件復(fù)制粘貼到dist目錄中。我還想為此創(chuàng)建一個(gè)安裝程序,將其安裝在另一臺(tái)計(jì)算機(jī)上。source.py我無法按原樣共享該文件,而不是.py我使用過的source.pyc。我現(xiàn)在已經(jīng)使用了 inno 編譯器并創(chuàng)建了一個(gè)安裝文件。根據(jù)我的理解,pyinstaller會(huì)自動(dòng)綁定python解釋器,因此我們不需要在任何其他機(jī)器上安裝python。我只是安裝了 exe,它就開始正常工作了。在我的項(xiàng)目中,我有一個(gè)調(diào)用source.pyc文件的功能,如下所示:exec(os.system("source.pyc install"))這在我的開發(fā)機(jī)器上運(yùn)行良好,但在其他機(jī)器上,它給了我bad magic error。根據(jù)在線論壇,當(dāng)我們嘗試使用pyc不同的 python 版本解釋器運(yùn)行文件時(shí),通常會(huì)發(fā)生這種情況,但在我的情況下,我使用相同的 pyinstaller 解釋器。那怎么會(huì)出現(xiàn)這個(gè)錯(cuò)誤呢。除了使用 pyinstaller 編譯 app.py 之外,還有其他方法嗎?我怎樣才能消除這個(gè)錯(cuò)誤。謝謝
1 回答

婷婷同學(xué)_
TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
PyInstaller 不會(huì)將 Python 解釋器與 EXE 文件捆綁或綁定。EXE 文件是編譯后的二進(jìn)制文件,在編譯時(shí)不需要解釋器。PYC 文件仍然需要解釋器。
您也可以使用 PyInstaller 編譯其他文件(即source.py
),然后將編譯后的 EXE 文件移動(dòng)到與app.exe
. 在這種情況下,您將能夠import os; os.system("source.exe")
從主程序運(yùn)行您的命令。如果您的其他編譯腳本需要未在app.exe
編譯中使用/包含的模塊/庫(kù),則在移動(dòng)已編譯的 時(shí)source.exe
,您還需要將捆綁的庫(kù)移動(dòng)到該app.exe
目錄。
添加回答
舉報(bào)
0/150
提交
取消