91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

pyinstaller?pathex參數引發打包no?module?name異常怎么解決

發布時間:2022-05-12 10:41:21 來源:億速云 閱讀:179 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“pyinstaller pathex參數引發打包no module name異常怎么解決”,內容詳細,步驟清晰,細節處理妥當,希望這篇“pyinstaller pathex參數引發打包no module name異常怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

現象:

最近將pyinsatller升級到最新的Version: 5.0.1版本后(之前一直用的是3.5版本同樣方法未遇到問題,今次更新到最新版本后5.0.1后打包就遇到問題,具體是這中間哪個版本開始有變化也不清楚了,也不去追究,凡是在新版本中遇到問題就在新版本中解決),詳細現象及解決辦法如下:

1。 先貼上pyinstaller的官方介紹:點擊跳轉

2。使用pyinstaller打包完成后到dist目錄下點擊 .exe程序運行時提示 “no module found”,凡是所有外部加載的模塊全部無法識別到,然后單獨將對應的包放到該dist目錄下再運行則問題消失,表明在打包時未正常對應目錄所依賴的模塊加載進去

pyinstaller?pathex參數引發打包no?module?name異常怎么解決

3。先來看打包命令,我是使用批處理,跟 .py的主文件(即可運行主窗口文件)在同一目錄

@echo off
echo Current Dish:%~d0
echo Current Dish and Path:%~dp0
echo Current CMD default Dir:"%cd%"
set "current_dir=%~dp0"
echo %current_dir%
set "output_dir=%current_dir%"
cd %output_dir%
;echo "%cd%"
pyinstaller.exe -D -w %current_dir%\SmartTools.py -i %current_dir%\icon\Tool.ico
pause

4。pyinstaller打包的時候會首先生成一個spec文件,我們可以手工去修改這個文件,下次打包指定用這個文件。它的好處是:里面可以寫更復雜的選項,也可以重復利用,這個方法我是在pyinstaller 3.5版本中這么用的,但在pyinstaller5.0.1版本中卻會每次重新覆蓋掉我所修改的spec文件,導致該pathex每次為空,所以在打包時就不會將py文件中所引用的文件加載進去進行編輯打包,關于該pathex參數解釋可以到第一步的官方中去查找,下面我截圖出來給你們看(明確告訴我們該參數主要就是文件中關于imports導模塊所需路徑)

pyinstaller?pathex參數引發打包no?module?name異常怎么解決

5。那到這里就已經知道問題出在哪里了,但要如何處理才能將spec文件中的pathex中帶上當前地址呢,上面也已經給出的明確的答案,就是在pyinstaller后面帶上 --paths參數,現修改編輯打包文件如下(紅色字體為新增部分):

@echo off
echo Current Dish:%~d0
echo Current Dish and Path:%~dp0
echo Current CMD default Dir:"%cd%"
set "current_dir=%~dp0"
echo %current_dir%
set "output_dir=%current_dir%"
cd %output_dir%
;echo "%cd%"
pyinstaller.exe --paths %current_dir% -D -w %current_dir%\SmartTools.py -i %current_dir%\icon\Tool.ico
pause

6。重新運行該批處理后再去檢查 spec文件,查看pathex是否已經將對應目錄添加上,經確認該參數中已經有值了,為一個列表

# -*- mode: python ; coding: utf-8 -*-
 block_cipher = None
 a = Analysis(
     ['E:\\SmartTools\\\\SmartTools.py'],
     pathex=['E:\\SmartTools\\'],
     binaries=[],
     datas=[],
     hiddenimports=[],
     hookspath=[],
     hooksconfig={},
     runtime_hooks=[],
     excludes=[],
     win_no_prefer_redirects=False,
     win_private_assemblies=False,
     cipher=block_cipher,
     noarchive=False,
 )

7。 重新到dist目錄下去執行 .exe程序,正常啟動未報任何錯誤,到此問題成功解決。

讀到這里,這篇“pyinstaller pathex參數引發打包no module name異常怎么解決”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰溪市| 武穴市| 萝北县| 滦南县| 怀来县| 正蓝旗| 沙雅县| 新疆| 招远市| 邹城市| 长阳| 蓬溪县| 桂平市| 永城市| 西盟| 巴中市| 博客| 封开县| 罗城| 福海县| 冀州市| 九江市| 南乐县| 博白县| 江达县| 汶川县| 平江县| 华蓥市| 驻马店市| 桐柏县| 静海县| 镇沅| 绥江县| 南澳县| 长岭县| 大城县| 和田市| 南丹县| 保定市| 耒阳市| 蚌埠市|