您好,登錄后才能下訂單哦!
這篇文章主要介紹如何解決pycharm中opencv-python導(dǎo)入cv2后無(wú)法自動(dòng)補(bǔ)全的問(wèn)題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
發(fā)現(xiàn)問(wèn)題
當(dāng)我用pip安裝好opencv-pyton后,我激動(dòng)得在python項(xiàng)目中導(dǎo)入cv2
就像這樣:
import cv2 as cv
but…
碼代碼時(shí)竟然沒(méi)有自動(dòng)補(bǔ)全?。。∵@我還能忍,可是CTRL+左鍵竟然不能看源碼!?。。。。【拖襁@樣:
這我就受不了了。于是開始找解決方法
解決問(wèn)題
查找解決方法,
有的說(shuō)要將cv2.cp36-win_amd64.pyd文件挪到site-packages下;
有的說(shuō)要修改_init_.py文件
有的說(shuō)…
直到我看到https://segmentfault.com/q/1010000008971601這篇文章
于是突然頓悟!
原來(lái)真正的實(shí)現(xiàn)opencv功能的cv2模塊是在cv2/data文件夾下
而cv2下的_init_.py文件內(nèi)描述的也很清楚
import importlib from .cv2 import * from .data import * # wildcard import above does not import "private" variables like __version__ # this makes them available globals().update(importlib.import_module('cv2.cv2').__dict__)
它的目的就是將cv2/data/下的真正的cv2功能模塊放在cv2目錄下,也就意味著
變成了這種形式:cv2/cv2
所以你在導(dǎo)入cv2模塊兒時(shí)要這樣做
正確的做法
import cv2.cv2 as cv
自動(dòng)提示的功能出現(xiàn)了。
CTRL+鼠標(biāo)左鍵查看源碼的功能也回來(lái)了。
針對(duì)一些疑惑進(jìn)行可能的解答,也不知道對(duì)不對(duì)。
由于我之前升級(jí)過(guò)IDE,所以這個(gè)項(xiàng)目是我從外部導(dǎo)入的,首先我為這個(gè)項(xiàng)目選擇python解釋器路徑,然后就會(huì)出現(xiàn)下圖的進(jìn)度條。(這個(gè)項(xiàng)目在構(gòu)建之初,用virtualenv建立了一個(gè)獨(dú)立的環(huán)境,所以python解釋器選擇的是項(xiàng)目路徑下的。)
庫(kù)文件在剛剛被添加到項(xiàng)目中時(shí),pycharm會(huì)針對(duì)這個(gè)庫(kù)文件,構(gòu)建索引(building index)。然后會(huì)顯示一個(gè)進(jìn)度條,在進(jìn)度條走完之前,使用這個(gè)庫(kù)中的方法確實(shí)會(huì)出現(xiàn)無(wú)法自動(dòng)提示的問(wèn)題。
等待進(jìn)度條走完,也就是python環(huán)境中的庫(kù)都被構(gòu)建索引,然后再使用庫(kù)中的方法,自動(dòng)提示就有了。
這是我新建的.py文件,然后進(jìn)行的測(cè)試
以上是“如何解決pycharm中opencv-python導(dǎo)入cv2后無(wú)法自動(dòng)補(bǔ)全的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。