mac 下 basemap 安裝,以及踩的一些小坑


數據分析的是可視化不可或缺的,當學習到利用basemap來繪圖時,環境又是惡心人的一件事。。

1.安裝

我在谷歌逛了一圈,發現大多人下載必要文件基本使用pip 或者借助包管理器,‘省時省力’原則我選擇了后者。

在mac下的家釀是不錯的選擇,然而我在conda官網https://matplotlib.org/basemap/users/installing.html,發現步驟給的十分詳細。

 

然后我使用conda安裝,建議也不要一個個文件去下載了,直接:conda install  basemap

conda會自動找需要的依賴下載

 

2.檢測

 

import matplotlib.pyplot as plt
%matplotlib inline
from mpl_toolkits.basemap import Basemap

plt.figure(figsize=(12,9))

m.drawcoastlines(linewidth=1.5)
m.drawmapboundary()   # 繪制邊界
m.fillcontinents()   # 填充大陸,發現填充之后無法顯示散點圖,應該是被覆蓋了
m.drawstates()        # 繪制州
m.drawcoastlines(linewidth=1.5)    # 繪制海岸線
m.drawcountries()     # 繪制國家
# m.drawcounties()      # 繪制縣

plt.show()
'''關鍵詞	描述
llcrnrlon	所需地圖域的左下角經度(度)。
llcrnrlat	所需地圖域的左下角緯度(度)。
urcrnrlon	所需地圖域右上角的經度(度)。
urcrnrlat	所需地圖域右上角的緯度(度)。
projectiont----投影關鍵字(map樣式)'''

  

3.error出現

KeyError: 'PROJ_LIB'

refer 大佬的解決辦法

查完資料,是由於python版本的問題導致的。

直接原因是:系統找不到這個叫做PROJ_LIB的環境變量,所以報錯了。

根本原因:調用basemap模塊的時候會調用basemap所依賴的proj4模塊,所以當時在anaconda上安裝basemap模塊的時候細心的鐵汁可以看到相應的也安裝了proj4這個模塊。但是最坑的是,anaconda root下安裝proj4的時候不會主動給你設置proj4模塊的環境變量,所以就導致的現在這樣的錯誤。

 

解決方案:

方案1) :可以在anaconda下建立一個新環境(env),參考文章:https://blog.csdn.net/weixin_39278265/article/details/82982937

再進行之前的步驟1(安裝)和2(驗證),就可以了。

 

方案2):先將Anaconda安裝目錄下找到proj4的安裝路徑,我的是在:D:\software\Anaconda\pkgs\proj4-4.9.3-hfa6e2cd_8,然后打開這個文件夾,進入Library -> share 文件夾,將里面的文件全選並復制,粘貼到 D:\software\Anaconda\share\proj 這個文件夾下(如果Anaconda根目錄下沒有這個proj文件夾,就創建一個)。

 

方法二 我嘗試過,但是注意路徑:Library這文件夾沒了,下面直接就是share,還有就是依賴版本變了,更具自己具體情況來改變

然后失敗了

error原因都是一樣的,我才用下面的解決辦法:局部更改變量

import os
import conda


conda_file_dir = conda.__file__
conda_dir = conda_file_dir.split('lib')[0]
proj_lib = os.path.join(os.path.join(conda_dir, 'share'), 'proj')
os.environ["PROJ_LIB"] = proj_lib

#這個好使

  

然后又有error

缺少file

conda install -c conda-forge basemap-data-hires 

這下總於完成了

ps:

 

conda install -c conda-forge basemap
conda install -c conda-forge/label/gcc7 basemap
conda install -c conda-forge/label/broken basemap
conda install -c conda-forge/label/cf201901 basemap
conda install -c conda-forge/label/cf202003 basemap

 

 

 

2020-05-28

 

 


免責聲明!

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



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