VSCode提示Python源碼from...import...出錯


在用VSCode編輯Python源碼時,常會有from...import...此類用法,模塊都已正確安裝,還是會提示出錯

或是xxx has no xxx member出錯

但是能正常運行,記錄原因與解決方法。

一般VSCode使用pylint來檢查Python的語法錯誤,pylint語法規則校驗器對於python的import導入必須是相對於main函數的路徑

一些方法是禁用pylint的語法檢查或是屏蔽一些簡單錯誤

方法:在setting.json加入代碼(新版vscode已經不用json文件設置,直接改選項)

直接禁用

"python.linting.enabled": false

忽略指定錯誤

"python.linting.pylintArgs": [
	 "--disable=W,C,E"
 ], //忽略指定報錯

"python.linting.enabled": false //關閉pylint 報錯 (不包括語法錯誤)

雖然不顯示紅色波浪線了,擔心其他的錯誤也不顯示,不可取

方法:在項目主目錄下新建一個.pylintrc文件,然后在這個文件里添加一行

extension-pkg-whitelist=packagename

packagename就是模塊名,本例則是win32gui,相當於是加了一個白名單

但是實測只要存在.pylintrc這個文件,里面隨便寫點什么,就不會出紅色波浪線

 

方法:使用--generated-members

打開設置,搜索框輸入 python.linting.pylint 找到如下項目

點擊Add Item,框內輸入 --generated-members 注意第一個單詞后面有個d,好多文章里少了這個。。。

還有更詳細的設置,規定特定類

 

方法:修改設置里的提醒

以前版本是以json文件打開來設置的,現在新版本已經變成了選項

打開設置(Ctrl+,),輸入 python.linting.pylint 找到如下信息

Convention是 慣例(不重要,可關閉)
Error是 錯誤
Fatal是 致命錯誤
Refactor是 重構(這個貌似也不重要,可關閉)
Warning是 警告 (這個不關掉就煩了,必須關閉)
這四個選項,分別可以設置為:Hint(暗示),Error(錯誤),Information(信息),Warning(警告)

 

方法:打開設置(Ctrl+,)搜索內輸入 python.linting.pylintPath 

將框內輸入為你的pylint安裝的路徑,路徑可以命令行里看

保存設置后問題消失 

 

猜想是其他模塊保存的地方和pylint不一樣導致的,我的其他模塊放在了D:\Python\Python36\Scripts

之前有次是模塊安裝在用戶目錄,導致源碼里沒法用

參考:

https://blog.csdn.net/yinizhilianlove/article/details/105560705

https://blog.csdn.net/weixin_42657158/article/details/104072953


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM