python之ImportError:模塊引入異常問題
摘要
為什么要寫這篇文章?
我們在使用 pycharm 編程經(jīng)常會遇到 ImportError:模塊引入異常的情況;
原因:
模塊文件不在運行的路徑上,即PyCharm IDE支持文件跳轉(zhuǎn),但是當文件執(zhí)行時,找不到模塊。
就會拋出 ImportError;
解決方法
Step1:使用 sys.path.append 引入源路徑
如果是在 Terminal 執(zhí)行,通過 sys.path.append 添加源路徑
在模塊文件頂部,引入源目錄,源路徑下的所有模塊文件都可以被不加前綴直接import
import os
import sys
BASE_PATH = os.path.split(os.path.dirname(os.path.abspath(__file__)))[0]
if BASE_PATH not in sys.path:
sys.path.append(BASE_PATH)
# print(BASE_PATH) # 打印源路徑Step2:Pycharm IDE - Sources Root
如果使用 Pycharm IDE ,模塊包下有多層目錄,直接執(zhí)行,可能就會拋出引入路徑錯誤
(1)在pycharm中設(shè)置source路徑
File–>setting–>project:項目名–>project structure
將放package的文件夾設(shè)置為source,這樣import的模塊類等,就是通過這些source文件夾作為根路徑來查找,也就是在這些source文件夾中查找import的東西。

(2)清除緩存并重啟

(3)設(shè)置源目錄(注意設(shè)置的是哪個目錄,不能選擇項目根目錄)
package 右鍵 -> Mark Directory as -> Sources Root

Step 3:unresolved reference
導入第三方模塊時,比如:
from flask import Flask
此時的Flask 下方是有紅色波浪線(如下圖)的,我這里確定已經(jīng)安裝完畢,且 ctrl + 左鍵也無法跳轉(zhuǎn)到聲明定義的源碼,雖然運行是不會報錯的,但是在使用的是不會提示相關(guān)的關(guān)鍵方法

這個問題困擾了我很久,查了很多資料,最終找到了解決方法;
(1)在pycharm的 settings >> Editor >> File Types
(2)選擇 Text 并將 File name patterns 列表(識別為文本的文件名/擴展名列表),刪除 __init__.py 文件名

(3)刪除所有的文件名,發(fā)現(xiàn)問題已經(jīng)解決!

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 關(guān)于Python ImportError: No module named 通用解決方法
- 解決ImportError:cannot import name ‘Flatten‘ from ‘torch.nn‘問題
- python解決報錯ImportError: Bad git executable.問題
- 安裝pyhttpx解決ImportError: DLL load failed錯誤
- 解決Numpy報錯:ImportError: numpy.core.multiarray failed
- 關(guān)于sklearn包導入錯誤:ImportError:?cannot?import?name Type解決方案
- Python報錯ImportError:?IProgress?not?found.?Please?update?jupyter?and?ipywidgets解決
- Python報錯ImportError: No module named ‘missing_module‘的解決方法
- Python解決“ImportError:?Couldn‘t?import?Django”問題全攻略
相關(guān)文章
使用國內(nèi)鏡像源創(chuàng)建離線PyPI鏡像的完整方案
根據(jù)知識庫信息,清華鏡像已明確會阻斷大量下載行為的請求,為避免此問題,我將提供一個安全使用國內(nèi)鏡像源的完整方案,確保能夠一次性準備指定Python版本的所有包,然后導出到內(nèi)網(wǎng)環(huán)境,需要的朋友可以參考下2025-09-09
python 監(jiān)控某個進程內(nèi)存的情況問題
這篇文章主要介紹了python 監(jiān)控某個進程內(nèi)存的情況問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
使用Python matplotlib作圖時,設(shè)置橫縱坐標軸數(shù)值以百分比(%)顯示
這篇文章主要介紹了使用Python matplotlib作圖時,設(shè)置橫縱坐標軸數(shù)值以百分比(%)顯示,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python中的None與 NULL(即空字符)的區(qū)別詳解
這篇文章主要介紹了Python中的None與 NULL(即空字符)的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09

