PyInstaller與pathlib包不兼容的解決方法
在使用 PyInstaller 打包 Python 程序時(shí),可能會(huì)遇到類似如下的錯(cuò)誤提示:
The 'pathlib' package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (located in C:\Users\users\AppData\Local\Programs\Python\Python310\lib\site-packages) using
"C:\Users\users\AppData\Local\Programs\Python\Python310\python.exe" -m pip uninstall pathlib
then try again.
這個(gè)錯(cuò)誤的原因是,pathlib 這個(gè)包在 Python 3.4 版本之后已經(jīng)成為了 Python 標(biāo)準(zhǔn)庫(kù)的一部分,所以不需要再單獨(dú)安裝。而如果在安裝了該包的環(huán)境中使用 PyInstaller,它會(huì)和 Python 標(biāo)準(zhǔn)庫(kù)中的 pathlib 包發(fā)生沖突,導(dǎo)致 PyInstaller 無(wú)法正確工作。
解決方法
1. 卸載 pathlib 包
由于在 Python 3.10 中,pathlib 已經(jīng)是標(biāo)準(zhǔn)庫(kù)的一部分,我們不再需要額外安裝它。因此,首先需要卸載已經(jīng)安裝的 pathlib 包。
在命令行中運(yùn)行以下命令:
C:\Users\user\AppData\Local\Programs\Python\Python310\python.exe -m pip uninstall pathlib

執(zhí)行該命令后,pathlib 包將被成功卸載。
2. 再次運(yùn)行 PyInstaller
卸載 pathlib 后,可以重新嘗試使用 PyInstaller 來(lái)打包你的程序。如果沒(méi)有其他問(wèn)題,打包應(yīng)該會(huì)順利完成。

為什么會(huì)出現(xiàn)這個(gè)問(wèn)題?
pathlib 是一個(gè)用于操作文件路徑的模塊,最早作為第三方庫(kù)發(fā)布,后來(lái)在 Python 3.4 中被正式納入標(biāo)準(zhǔn)庫(kù)中。對(duì)于較新的 Python 版本(如 3.4 及以上版本),不需要再額外安裝 pathlib。然而,在一些舊的項(xiàng)目中,可能還會(huì)誤安裝這個(gè)庫(kù),導(dǎo)致出現(xiàn)兼容性問(wèn)題。
在使用 PyInstaller 等工具進(jìn)行打包時(shí),它會(huì)掃描項(xiàng)目中所有的依賴庫(kù)并將其包括在內(nèi)。如果你在 Python 3.10 中仍然安裝了 pathlib,PyInstaller 會(huì)將其錯(cuò)誤地認(rèn)為是一個(gè)獨(dú)立的庫(kù),并嘗試將它包含進(jìn)打包文件中,從而引發(fā)錯(cuò)誤。
總結(jié)
為了避免 PyInstaller 和 pathlib 包的兼容性問(wèn)題,最簡(jiǎn)單的解決辦法就是卸載不必要的 pathlib 包。只需在命令行中運(yùn)行卸載命令,然后重新打包即可。
到此這篇關(guān)于PyInstaller與pathlib包不兼容的解決方法的文章就介紹到這了,更多相關(guān)PyInstaller與pathlib包不兼容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python調(diào)用C/C++動(dòng)態(tài)庫(kù)的實(shí)踐案例
python是動(dòng)態(tài)語(yǔ)言,c++是靜態(tài)語(yǔ)言,下面這篇文章主要介紹了python調(diào)用C/C++動(dòng)態(tài)庫(kù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-09-09
Python中條件判斷語(yǔ)句的簡(jiǎn)單使用方法
這篇文章主要介紹了Python中條件判斷語(yǔ)句的簡(jiǎn)單使用方法,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-08
python中sklearn庫(kù)predict及python sklearn linearmodel(
Scikit-learn(sklearn)是機(jī)器學(xué)習(xí)中常用的第三方模塊,對(duì)常用的機(jī)器學(xué)習(xí)方法進(jìn)行了封裝,包括回歸(Regression)、降維(Dimensionality Reduction)、分類(Classfication)、聚類(Clustering)等方法,今天小編給大家分享python中sklearn庫(kù)predict的問(wèn)題,感興趣的朋友一起看看吧2024-02-02
基于Python實(shí)現(xiàn)通過(guò)微信搜索功能查看誰(shuí)把你刪除了
這篇文章主要介紹了基于Python實(shí)現(xiàn)微信搜索查看誰(shuí)把你刪除了的相關(guān)資料,需要的朋友可以參考下2016-01-01
python hashlib加密實(shí)現(xiàn)代碼
這篇文章主要介紹了python hashlib加密實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
Python3 字典dictionary入門(mén)基礎(chǔ)附實(shí)例
Python字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象,如字符串、數(shù)字、元組等其他容器模型,字典由鍵和對(duì)應(yīng)值成對(duì)組成,字典也被稱作關(guān)聯(lián)數(shù)組或哈希表2020-02-02

