天天看點

使用anaconda來安裝qgis,使用anconda qgis二次開發環境搭載步驟前言一、建立一個虛拟環境二、conda安裝qgis三、import環境問題解決四、pycharm不能顯示代碼補全問題解決五、GDAL特殊情況問題解決2.5、(可跳過)離線環境安裝qgis方法總結

提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文檔

使用anaconda來安裝qgis,使用anconda qgis二次開發環境搭載步驟

  • 前言
  • 一、建立一個虛拟環境
  • 二、conda安裝qgis
  • 三、import環境問題解決
  • 四、pycharm不能顯示代碼補全問題解決
  • 五、GDAL特殊情況問題解決
  • 2.5、(可跳過)離線環境安裝qgis方法
  • 總結

前言

看了一堆bug回報和stackoverflow的問答,終于給我裝上了,太不容易了,記錄一下安裝的方法

一、建立一個虛拟環境

conda create -n yourname python=3.7.6

版本是 3.7.6的python conda 虛拟環境 (測試了好幾個就這個成功了)

二、conda安裝qgis

conda activate yourname

conda install -c conda-forge qgis

安裝完成出現done後,嘗試一下安裝好了沒有

在 conda 的cmd界面直接輸入qgis (當然,要在你的虛拟環境下)

看看會不會跳出來qgis的可視化界面,如果可以,那版本應該沒問題,如果出現閃退,檢視一下是不是python 3.7.6 不行的話,你隻能自己嘗試其他的版本行不行了。

(或者上qgis 的網站下離線的安裝包,推薦 3.7.6 + qgis3.8 這個有人反應最穩定)

這時候如果你嘗試 import qgis 會發現報錯,找不到子產品,這時候到下一步

三、import環境問題解決

conda cmd 輸入 qgis 打開gui

gui 内打開插件 - python控制台, 輸入:

import sys

sys.path

會得到一個list: 比如[aaa,bbb,ccc,ddd,eee,fff,ggg]

這時候打開conda你的虛拟環境,輸入

conda develop [aaa,bbb,ccc,ddd,eee,fff,ggg] -n 你的虛拟環境名字

有的時候這裡都會報錯,不過我測試的3.7.6版本沒問題了。

現在就可以嘗試一下python import qgis嘗試一下是否成功。

然後你打開pycharm,輸入代碼,會發現這時候沒有代碼補全,寫代碼非常惡心

四、pycharm不能顯示代碼補全問題解決

把 anaconda主環境\pkgs\qgis-3.xxx(你的版本,我的是3.18)\Library\python\qgis 這個檔案夾複制到

​anaconda虛拟環境\Lib\site-pacakages\qgis裡面 ,你就會有代碼提示了

五、GDAL特殊情況問題解決

後你開開心心的寫起了代碼,然後會發現gdal報錯 PROJ問題(雖然還是能運作,但是可能會有意外錯誤)

​ 這時候你需要找到:D:\YoyiEnvironment\envs\yoyi\Library\share\proj 在你的虛拟環境裡面類似的檔案夾

然後:

import os

os.environ[‘PROJ_LIB’] = r"D:\YoyiEnvironment\envs\yoyi\Library\share\proj"

2.5、(可跳過)離線環境安裝qgis方法

打包線上的庫:

conda pack -n XX -o D:/XX.tar.gz

然後在離線環境解壓就可以了,

記住,這個要在第二步和第三步之間做,不然就會出打包問題。因為第三步把其他環境的東西弄到anaconda裡了,就不能使用pack打包了。

總結

GDAL 支援anaconda環境實在是太艱難了。總之,開始你的qgis之旅吧!