解決pycharm中opencv-python導(dǎo)入cv2后無(wú)法自動(dòng)補(bǔ)全的問(wèn)題(不用作任何文件上的修改)
發(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+左鍵竟然不能看源碼!?。。。。【拖襁@樣:

這我就受不了了。于是開(kāi)始找解決方法
解決問(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è)試

總結(jié)
到此這篇關(guān)于解決pycharm中opencv-python導(dǎo)入cv2后無(wú)法自動(dòng)補(bǔ)全的問(wèn)題(不用作任何文件上的修改)的文章就介紹到這了,更多相關(guān)pycharm opencv-python導(dǎo)入cv2無(wú)法自動(dòng)補(bǔ)全內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)對(duì)特定列表進(jìn)行從小到大排序操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)特定列表進(jìn)行從小到大排序操作,涉及Python文件讀取、計(jì)算、正則匹配、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
VSCode Python開(kāi)發(fā)環(huán)境配置的詳細(xì)步驟
這篇文章主要介紹了VSCode Python開(kāi)發(fā)環(huán)境配置的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
使用Python FastAPI構(gòu)建Web服務(wù)的實(shí)現(xiàn)
這篇文章主要介紹了使用Python FastAPI構(gòu)建Web服務(wù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
使用PyInstaller將python轉(zhuǎn)成可執(zhí)行文件exe筆記
這篇文章主要介紹了使用PyInstaller將python轉(zhuǎn)成可執(zhí)行文件exe筆記,需要的朋友可以參考下2018-05-05
python運(yùn)行其他程序的實(shí)現(xiàn)方法
這篇文章主要介紹了python運(yùn)行其他程序的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-07-07
Python?使用?pip?安裝?matplotlib?模塊的方法
matplotlib是python中強(qiáng)大的畫(huà)圖模塊,這篇文章主要介紹了Python?使用?pip?安裝?matplotlib?模塊(秒解版),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
python錯(cuò)誤:AttributeError: ''module'' object has no attribute
這篇文章主要介紹了python錯(cuò)誤:AttributeError: 'module' object has no attribute 'setdefaultencoding'問(wèn)題的解決方法,需要的朋友可以參考下2014-08-08

