python生成的exe程序不能正常運行,我來填幾個坑

 

    下面描述幾個我在使用pyinstaller工具,生成exe文件遇到的坑,及解決方案。

一、路徑中存在中文。

    1、錯誤信息:

    2、原因:exe程序的路徑中存在中文。如:

二、找不到模塊(module)

    1、錯誤信息:

 2、原因分析:

    我的python程序是在pycharm中寫的,在pycharm中,我創建的工程名稱是PS_HY,python主程序是main.py,其他的py文件全部是各個網站的採集模塊。

    在用pycharm寫程序及調試時,模塊的調用是通過這種方式:

from 工程名.模塊文件名 import 模塊類名

    注意這個時候,模塊我是全放在跟main.py文件同一目錄下的。但是以同樣的目錄結構,去生成exe文件時,就會出現no module的錯誤。

    解決辦法是:在準備將py文件生成exe時,在main.py的目錄中,創建一個與工程名同名的文件夾,將所引用的模塊文件,全部放入此文件夾中,然後再生成exe程序。

    注意生成exe的命令格式,如:

pyinstaller -F main.py -p PS_HY\growatt.py -p PS_HY\kstar.py -p PS_HY\MGMTigen.py -p PS_HY\MGMTshine.py -p PS_HY\sanJing.py -p PS_HY\data\psData.py -p PS_HY\data\userData.py

三、生成的exe文件在自己電腦上運行正常,在別人電腦上不正常。

    1、錯誤信息:

(此項沒有截圖,好像錯誤信息種類挺多的,依照解決)

    2、原因分析:

    一般我們自己的電腦在寫python程序之間,會配置各種各樣的程序環境支持庫,NET.、C++等等,而要使用我們發佈的exe程序的用戶,他們可能從未接觸編程,可能只是普通辦公電腦,從未添加這些庫,而想要找到他們缺少的是哪個dll文件,更是麻煩,這個時候我們只需要一個軟件搞定。點擊下載,當安裝時出現NET.Frame版本錯誤時,可安裝第二個文件後再嘗試,點擊下載第二個軟件

        暫時我就遇到了這三方面的問題,還有一個不單獨分析了,是在使用驗證碼識別模塊的時候,需要將【tessdata】文件夾複製到與main.exe同目錄下,才能正常運行。

        大家還有其他方面的問題,歡迎一起討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章