簡體   English   中英

在Windows 8上創建的pyinstaller exe在Windows 7中不起作用

[英]pyinstaller exe created on Windows 8 does not work in Windows 7

我已經在Windows 8中制作了一個可執行文件。它可以在Windows 8和10中正常運行。問題是,當我雙擊Windows 7中的exe文件時,出現消息“ myfile.exe已停止工作”。 我測試了所有想到的東西,但問題仍然存在。

下圖是我運行exe文件時的消息

問題很可能是您在無法運行可執行文件的計算機上丟失了DLL。

這是由於以下事實:在某些位置,一段時間內,您已經安裝了.NET環境,Visual XXX環境或包含特定DDL集的運行時,以使應用程序正常運行。

從提出問題開始,它指向Visual C ++運行時。 可以安裝或者通過全套的Visual C ++的訴訟或只是一個VCruntime(通常)。

同樣重要的是要指出這些運行時帶有它們自己的協議和許可條款。 這就是為什么它們不打包在可執行文件中的原因(通常也是) 可以將它們捆綁在可執行文件中,具體取決於您使用的凍結技術,但這是不允許的,並且您需要具有這樣做的權限。

一種實現方式(通過pyinstaller)是:

pyinstaller -F --add-data ucrtbase.dll;. myscript.py

再次,檢查許可證是否允許。

如果千方百計決定使用.exe復制並粘貼DLL,則需要確保可通過Windows PATH環境訪問該DLL,因為這是您的可執行文件在其中尋找DLL (通常是system32或其他路徑)的地方 因此,一味地復制它是因為互聯網上的某人這樣說並不總是可行。 您必須學習並理解它為什么會工作以及如何工作。

這是一個很好的外部資源,很好地描述了這種現象: https : //docs.python-guide.org/shipping/freezing/

除py2app之外,所有解決方案都需要在目標計算機上安裝MS Visual C ++ dll。 只有Pyinstaller可以將--onefile傳遞給Configure.py時,將dll捆綁在一起的可自行執行的exe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM