目錄
方法二:不使用pip在線安裝,使用離線方法重新安裝(徹底解決問題)
方法三:Pycharm中import第三方庫時注意路徑(解決部分問題)
【前言】
1.我的使用環境:
(1)IDE:Pycharm
(2)解釋器:Anaconda中tensorflow-gpu環境中的python3.6
2.問題描述
最近想用python使用OpenCV,第三方的IDE是Pycharm,使用pip很方便地安裝上了OpenCV庫,安裝過程如下圖:
但是在Pycharm中使用的過程中發現根本沒有函數提示,更不用說補全函數了,這就很尷尬了,擼代碼的時候不方便呀!於在一番查找和探索中完美地解決了這個問題,記錄並分享一下。
【解決方法】
方法一:Pycharm中添加路徑(徹底解決問題)
打開File-settings--Project Interpreter,點擊右上角的齒輪,show ALL,然後點擊右下角的path按鈕,添加安裝包的路徑即可(Python路徑下的 Lib/site-packages默認已添加,但是沒起作用,因爲cv2的庫在cv2中的data文件夾中,並不在默認路徑的下一級,所以這裏直接一步到位),如圖:
通過上述幾步,添加好第三方庫的路徑,再輸入函數就能自動補全並且能夠提示,完美!效果如下:
方法二:不使用pip在線安裝,使用離線方法重新安裝(徹底解決問題)
採用pip在線安裝python-opencv,安裝好之後,pip在python的安裝路徑下的Lib->site-packages中創建了一個文件夾CV2,也就是說python-opencv被安裝在了Lib->site-packages->CV2中;然後下載離線包進行安裝,按照想法應該是被安裝在Lib->site-packages下,不創建創建額外的文件夾。但是,實際上安裝路徑並沒有發生變化╮(╯﹏╰)╭我以爲就此失敗了,但是在Pycharm中試了下,竟然完美解決了!能夠自動補全函數或者提示函數用法,漂亮!
【補充】由於境外服務器原因,下載速度可能很慢,且容易因爲下載過程中連接超時報錯。同時,有時候需要安裝低版本OpenCV。在這些情況下,可以採用離線安裝方式,從國內鏡像網站下載安裝包,在本地安裝。推薦使用清華大學服務器:
官方版:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python/
社區版:https://pypi.tuna.tsinghua.edu.cn/simple/opencv-contrib-python/
下載好對應版本OpenCV,切換到安裝路徑,輸入安裝命令,例如:pip install opencv_contrib_python-4.1.1.26-cp37-cp37m-win_amd64.whl。安裝完成即可。
方法三:Pycharm中import第三方庫時注意路徑(解決部分問題)
真正實現opencv功能的cv2模塊是在\Lib\site-packages\cv2\data文件夾下,在import的時候會有提示,如下圖:
在cv2中的_init_.py文件中說得很清楚
它的目的就是將cv2/data/下的真正的cv2功能模塊放在cv2目錄下,也就意味着變成了這種形式:cv2/cv2。
所以在程序中導入cv2模塊兒時要這樣做
import cvv2.ccv2 as cv
這樣就能夠自動補全函數,並且可以查看函數使用方法了,撒花?等一下,這種方法有個弊端,不能完全解決,因爲它只能提示在該文件中已有的函數,比如說在文件中只寫了一句cv.imshow(),想要使用cv.waitKey(),不好意思,沒有!只有cv.imshow(),愛要不要o(╥﹏╥)o, 所以大家還是使用前兩種方法吧,方法三隻是想給大家提供一些思路。