pyinstaller打包提示“文件所在的卷已被外部更改,因此打開的文件不再有效。”

環境

  • anaconda : 24.1.2
  • python : 3.7.13
  • pyinstaller : 5.13.0

問題描述

之前使用pyintaller執行spec文件打包都是能成功,今天打包報了“文件所在的卷已被外部更改,因此打開的文件不再有效。”的錯誤

Traceback (most recent call last):File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\PyInstaller\isolated\_child.py", line 63, in run_next_commandoutput = function(*args, **kwargs)File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\PyInstaller\building\build_main.py", line 187, in find_binary_dependenciesreturn bindepend.Dependencies(binaries, redirects=binding_redirects, xtrapath=extra_libdirs)File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\PyInstaller\depend\bindepend.py", line 275, in Dependenciesfor ftocnm, fn in getAssemblyFiles(pth, manifest, redirects):File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\PyInstaller\depend\bindepend.py", line 449, in getAssemblyFilesfor assembly in getAssemblies(pth):File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\PyInstaller\depend\bindepend.py", line 403, in getAssembliesres = winmanifest.GetManifestResources(pth)File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\PyInstaller\utils\win32\winmanifest.py", line 979, in GetManifestResourcesreturn winresource.GetResources(filename, [RT_MANIFEST], names, languages)File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\PyInstaller\utils\win32\winresource.py", line 155, in GetResourceshsrc = win32api.LoadLibraryEx(filename, 0, LOAD_LIBRARY_AS_DATAFILE)File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\win32ctypes\pywin32\win32api.py", line 40, in LoadLibraryExreturn _dll._LoadLibraryEx(fileName, 0, flags)File "C:\Users\Lenovo\.conda\envs\python37_32\lib\contextlib.py", line 130, in __exit__self.gen.throw(type, value, traceback)File "C:\Users\Lenovo\.conda\envs\python37_32\lib\site-packages\win32ctypes\pywin32\pywintypes.py", line 37, in pywin32errorraise error(exception.winerror, exception.function, exception.strerror)
win32ctypes.pywin32.pywintypes.error: (1006, 'LoadLibraryEx', '文件所在的卷已被外部更改,因此打開的文件不再有效。')

排查思路

  • 搜索網上說是殺毒軟件隔離問題,停用掉殺毒軟件,無效
  • 繼續搜索說是pyinstaller版本多個的問題,由于我是有兩套pyisntaller,一套是本機環境,一套是anaconda的環境,為了避免這個問題,我把本機的pyinstaller uninstall掉,還是無法解決我的問題
  • 還有說是緩存的問題,我嘗試著清除了pyinstaller的緩存還重裝了pyinstaller,還是無法解決!
  • 最后只能去github的pyinstaller查找issue,發現了有一個和我一樣的報錯,詳見
    github issue
    看了一下文中的描述和我的沒有關系,但是文中提到了一種排查方法就是打開debug日志
    打開debug日志
    嘗試著打開debug日志,發現了pyinstaller是在分析./logs/app.log文件的時候報錯了
pyinstaller ***.spec --log-level DEBUG

定位報錯
app.log是個日志文件,突然間想到當時為了減輕打包的文件大小,故意將他清空了內容,容量為0KB,難不成是0KB讀取不了!于是試著對app.log隨便編輯寫入一些內容,有了大小,結果重新打包真的成功了!

總結

綜上所述,由于app.log是作為二進制文件打包進入的(見下圖的spec文件),pyintaller估計在讀取該文件的時候字節數量為0報錯了,當重新給app.log寫入內容就可以讀取成功
spec內容

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16884.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16884.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16884.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

「架構」微服務

微服務架構是一種軟件開發架構,它將應用程序作為一組小的服務構建,每個服務實現特定的業務功能,并通過輕量級的通信機制(通常是HTTP RESTful API)進行交互。這些服務是松耦合的,可以獨立部署、擴展和更新。 核心功能: 服務分解:將應用程序分解為一組小型、獨立的服務。…

ecc dsa rsa des

ECC(橢圓曲線密碼學)、DSA(數字簽名算法)、RSA(一種公鑰加密技術)和DES(數據加密標準)都是密碼學領域中重要的加密和安全技術。下面是對這四種技術的簡要介紹: 橢圓曲線密…

想提升,應該學PMP還是NPDP?

NPDP(新產品開發專業認證)是由美國產品開發與管理協會(PDMA)發起的國際認證,涵蓋新產品開發的理論、方法和實踐,為公司提供全方位的知識體系支持。通過考試獲得NPDP認證證書,能夠提升個人工作能…

條款8:了解各種不同意義的new和delete

有時候我們覺得,C的術語仿佛是要故意讓人難以理解似的。 這里就有一個例子:請說明new operator 和operator new 之間的差異(譯注:本書所說的new operator,即某些C教程如C Primer 所謂的new expression) 當你寫出這樣…

粒子愛心特效||輕松實現浪漫效果||完整代碼

關注微信公眾號「ClassmateJie」有完整代碼以及更多驚喜等待你的發現。 簡介/效果展示 你是否曾經想過,在特殊的日子里給你的愛人一個驚喜?或者在朋友的生日派對上,給他們展示一個充滿愛意的特效?今天,我要分享一個我…

VUE3-form表單保存附件與基本信息

element-ui代碼 <el-dialog :title"上傳附件" v-model"dialogAdds.visible" width"500px" append-to-body> <el-form-item label"唯一標識"> <dict-tag v-if"form.groupId" :options"unique_identifica…

[大師C語言(第十二篇)]C語言堆排序技術詳解

引言 堆排序&#xff08;Heap Sort&#xff09;是一種基于比較的排序算法&#xff0c;它利用堆這種數據結構的特點來進行排序。堆是一種近似完全二叉樹的結構&#xff0c;并同時滿足堆積的性質&#xff1a;即子節點的鍵值或索引總是小于&#xff08;或者大于&#xff09;它的父…

性能怪獸!香橙派 Kunpeng Pro 開發板深度測評,帶你解鎖無限可能

性能怪獸&#xff01;香橙派 Kunpeng Pro 開發板深度測評&#xff0c;帶你解鎖無限可能 文章目錄 性能怪獸&#xff01;香橙派 Kunpeng Pro 開發板深度測評&#xff0c;帶你解鎖無限可能一、背景二、香橙派 Kunpeng Pro 硬件規格概述三、使用準備與系統安裝1??、系統安裝步驟…

【C++】淺論(cin和cout)的解鎖、緩沖區的理解、CC++輸入方法匯總和詳解

一、cin,cout解鎖 1.1&#xff1a;cin,cout解鎖以及why 首先cin和cout是在c中為了提供類型安全和易用性設計的&#xff0c;它兼容了c語言的輸入和輸出&#xff0c;以上幾點導致它在性能行&#xff08;讀取和輸出速度)遠不如傳統c語言的輸入和輸出。 在看到一些代碼里面&…

Python 腳本化 Git 操作:簡單、高效、無壓力

前言 如何判定此次測試是否達標&#xff0c;代碼覆蓋率是衡量的標準之一。前段時間&#xff0c;利用fastapi框架重寫了覆蓋率統計服務&#xff0c;核心其實就是先獲取全量代碼覆蓋率&#xff0c;然后通過diff操作統計增量代碼覆蓋率&#xff0c;當然要使用diff操作&#xff0c…

Java中Stack的使用詳解

Stack是一種運算受限的線性表&#xff0c;其特點在于僅允許在表的一端&#xff08;即表尾&#xff09;進行插入和刪除操作。這一端被稱為棧頂&#xff0c;而相對的另一端則稱為棧底。向一個棧插入新元素的操作稱為進棧或入棧&#xff0c;它將新元素放到棧頂元素的上面&#xff…

從雜亂無章到井井有條——五款筆記軟件,重塑工作與生活

記得剛入職場那會&#xff0c;我總是被各種繁雜的信息和任務搞得焦頭爛額。會議記錄、項目計劃、靈感閃現……這些都需要我隨時記錄和整理。 然而&#xff0c;我的桌面總是堆滿了便簽紙和草稿本&#xff0c;手機相冊里充斥著各種截圖和備忘錄&#xff0c;每次需要查找資料都像…

【數據結構】紅黑樹——領略天才的想法

個人主頁&#xff1a;東洛的克萊斯韋克-CSDN博客 祝福語&#xff1a;愿你擁抱自由的風 目錄 二叉搜索樹 AVL樹 紅黑樹概述 性質詳解 效率對比 旋轉操作 元素操作 代碼實現 二叉搜索樹 【數據結構】二叉搜索樹-CSDN博客 AVL樹 【數據結構】AVL樹——平衡二叉搜索…

深度學習實戰-yolox訓練ExDark數據集(附全過程代碼,超詳細教程,無坑!)

跳轉:數據集獲取以及前期準備工作 本人在深度學習實戰-yolov5訓練ExDark數據集(附全過程代碼,超詳細教程,無坑!)的數據基礎上實現yolox的訓練,所以先跳轉到該文章下去獲取數據集,再繼續接下來操作過程。 一、VOC格式數據集制作 1.前期工作 2.轉變成voc格式 在datase…

Latex:newcommand

參考文獻&#xff1a; latex中自定義的命令———\newcommand-CSDN博客LaTeX技巧924&#xff1a;詳解newcommand的參數和默認值 - LaTeX工作室 (latexstudio.net) 文章目錄 (re)newcommand自定義的一些命令 (re)newcommand ”定義命令“ 的定義&#xff1a; \newcommand{<…

[每周一更]-(第98期):PHP版本的升級歷程

文章目錄 大致歷程PHP/FI (PHP 1.0)PHP 2.0PHP 3.0PHP 4.0PHP 5.0PHP 5.3 - 5.6PHP 7.0PHP 7.1 - 7.4PHP 8.0PHP 8.1 - 8.2 參考 PHP&#xff0c;即“超文本預處理器”&#xff08;Hypertext Preprocessor&#xff09;&#xff0c;是廣泛應用于web開發的服務器端腳本語言。自19…

什么是獨特擺動交易策略?fpmarkets1分鐘講清楚

擺動交易策略想必各位投資者都已經接觸過了&#xff0c;但是什么是獨特擺動交易策略&#xff1f;各位投資者知道嗎&#xff1f;其實很簡單&#xff0c;這是一種基于斐波納契工具的獨特擺動交易策略。下面fpmarkets1分鐘講清楚&#xff0c;趨勢總會經歷調整&#xff0c;而這些調…

【機器學習】Python中的決策樹算法探索

&#x1f308;個人主頁: 鑫寶Code &#x1f525;熱門專欄: 閑話雜談&#xff5c; 炫酷HTML | JavaScript基礎 ?&#x1f4ab;個人格言: "如無必要&#xff0c;勿增實體" 文章目錄 Python中的決策樹算法探索引言1. 決策樹基礎理論1.1 算法概述1.2 構建過程 2. P…

數據集003:貓類識別-12種貓分類數據集 (含數據集下載鏈接)

數據集簡介&#xff1a; 訓練集共有2160張貓的圖片, 分為12類. train_list.txt是其標注文件 測試集共有240張貓的圖片. 不含標注信息. 訓練集圖像&#xff08;部分&#xff09; 驗證集圖像&#xff08;部分&#xff09; 標簽 部分代碼&#xff1a; # 定義訓練數據集 class T…

eNSP華為模擬器-DHCP配置

拓撲圖 要求 PC1通過DHCP獲取192.168.1.1地址PC2和PC3通過DHCP接口地址池方式獲取IP地址配置靜態路由使其ping通 配置 配置主機名及接口IP地址 # AR1 <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sys AR1 [AR1]int g0/0/0 [AR1-Gigabit…