python導(dǎo)入三方包的顯示未解析的引用但是可以運(yùn)行問題解決
問題
本來想安裝一個(gè)pyecharts包用的,但是安裝好導(dǎo)入的時(shí)候卻一直標(biāo)紅,且不能自動(dòng)補(bǔ)全,顯示的原因是未解析的引用。嘗試運(yùn)行了一下沒有報(bào)錯(cuò),也運(yùn)行出了結(jié)果,但標(biāo)紅就一直在。

項(xiàng)目詳情
項(xiàng)目結(jié)構(gòu)

安裝好的包都在Lib/site-packages目錄下

當(dāng)前項(xiàng)目的解釋器路徑D:/python工程文件/python-learn/.venv/Scripts/python.exe

常見問題排查思路
由于我對(duì)標(biāo)紅一直耿耿于懷,看了很多帖子排除故障,總結(jié)了提及比較多的故障排查思路:
1、 檢查并配置正確的 Python 解釋器
確保當(dāng)前的解釋器與你的項(xiàng)目環(huán)境一致(這里是一致的)
如果路徑正確但仍無法識(shí)別已安裝的庫,可以點(diǎn)擊選擇pycharm右下角的解釋器強(qiáng)制刷新一下(這里我看好多都說File > Settings > Project: [project-name] > Python Interpreter右上角有??刷新按鈕,我死活沒找到)

2、確認(rèn)第三方庫是否安裝到正確的路徑
使用命令行進(jìn)入項(xiàng)目根目錄后執(zhí)行以下命令查看當(dāng)前環(huán)境中已安裝的包路徑:
python -c "import site; print(site.getsitepackages())"
該命令會(huì)輸出當(dāng)前環(huán)境中 site-packages 的路徑,確認(rèn)第三方庫是否確實(shí)安裝在 .venv/lib/pythonX.X/site-packages 目錄下。若庫安裝路徑與預(yù)期不符,說明可能使用了全局環(huán)境執(zhí)行了 pip install 操作,導(dǎo)致庫未被虛擬環(huán)境識(shí)別3
3、檢查虛擬環(huán)境是否繼承全局 site-packages
默認(rèn)情況下,venv 不會(huì)繼承全局 Python 環(huán)境的 site-packages。如果在創(chuàng)建虛擬環(huán)境時(shí)使用了 --system-site-packages 參數(shù),則虛擬環(huán)境會(huì)繼承全局庫。但在某些情況下,這可能導(dǎo)致 PyCharm 無法正確識(shí)別庫路徑。
4、清除 PyCharm 緩存并重啟

5、標(biāo)記源代碼根目錄
在 PyCharm 中,當(dāng)一個(gè)目錄被標(biāo)記為“Sources Root”,IDE 會(huì)將其識(shí)別為源代碼目錄,并將其添加到 Python 路徑中,以便支持模塊的自動(dòng)識(shí)別和導(dǎo)入。未標(biāo)記為源代碼根目錄的文件夾不會(huì)被 PyCharm 認(rèn)為是模塊搜索路徑的一部分,因此即使程序運(yùn)行正常,PyCharm 仍可能對(duì)導(dǎo)入語句標(biāo)紅。
例如,若項(xiàng)目結(jié)構(gòu)如下:
project/ ├── src/ │ ├── __init__.py │ └── utils.py └── main.py
在 main.py 中導(dǎo)入 src.utils 時(shí),如果 src 目錄未被標(biāo)記為源代碼根目錄,PyCharm 將無法識(shí)別該模塊路徑,導(dǎo)致導(dǎo)入被標(biāo)紅。右鍵點(diǎn)擊 src 文件夾并選擇 Mark Directory as > Sources Root 后,PyCharm 會(huì)將該目錄加入模塊搜索路徑,從而消除紅色波浪線并恢復(fù)代碼提示功能1。
標(biāo)記源代碼根目錄后,PyCharm 的代碼補(bǔ)全、跳轉(zhuǎn)定義、重構(gòu)等功能將正常工作。此外,這種方式也適用于包含多個(gè)模塊的項(xiàng)目結(jié)構(gòu),確保所有模塊在 IDE 中都能被正確識(shí)別和索引。
最后解決方法
因?yàn)榻忉屍髀窂胶桶惭b的路徑都沒問題,我又仔細(xì)看了一下標(biāo)記源碼的根目錄這一條,IDE 的代碼補(bǔ)全、導(dǎo)航和重構(gòu)功能可能會(huì)受到文件夾標(biāo)記的影響。例如,在 PyCharm 中,如果某個(gè)目錄被標(biāo)記為“排除”,IDE 可能不會(huì)將其納入索引或自動(dòng)補(bǔ)全建議中,但這不會(huì)影響運(yùn)行時(shí)的行為。
最后我把site-packages標(biāo)記為根目錄了,自己也不知道這樣做對(duì)不對(duì),但好歹問題是解決了(感覺是個(gè)陰招兒)代碼不標(biāo)紅且有補(bǔ)全功能了。如果有大佬看到有什么不對(duì)勁的地方希望指正(????)?"""


到此這篇關(guān)于python導(dǎo)入三方包的顯示未解析的引用但是可以運(yùn)行問題解決的文章就介紹到這了,更多相關(guān)python導(dǎo)入三方包的顯示未解析的引用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Scrapy框架基本命令與settings.py設(shè)置
這篇文章主要介紹了Scrapy框架基本命令與settings.py設(shè)置,結(jié)合實(shí)例形式分析了創(chuàng)建爬蟲項(xiàng)目、創(chuàng)建爬蟲文件、存儲(chǔ)、打開網(wǎng)頁及settings.py設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
利用Pycharm + Django搭建一個(gè)簡單Python Web項(xiàng)目的步驟
這篇文章主要介紹了利用Pycharm + Django搭建一個(gè)簡單Python Web項(xiàng)目的步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
python數(shù)據(jù)可視化 – 利用Bokeh和Bottle.py在網(wǎng)頁上展示你的數(shù)據(jù)
本文將展示如何使用python搭建一個(gè)網(wǎng)頁應(yīng)用來展示你的數(shù)據(jù)圖表 很多有關(guān)于使用python搭建網(wǎng)頁應(yīng)用的文章聚焦在如何教讀者搭建一個(gè)網(wǎng)頁應(yīng)用(大多是博客),很多關(guān)于使用python做數(shù)據(jù)可視化的文章聚焦在如何教讀者使用python的圖表庫來做可視化2021-10-10
Python實(shí)現(xiàn)批量合并圖片到word文檔
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量合并指定文件夾中的所有圖片并插入到Word文檔中并保存,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10

