预先需要装好的库
包括matplotlib、numpy、pyproj、geos、Pillow(可选)再安装Basemap。
pyproj和geos都可以直接用pip或conda进行安装
pip install -i https://pypi.python.org/simple pyproj
pip install -i https://pypi.python.org/simple geos
# 这里用了镜像,不然速度太慢了
安装basemap
网上有说可以直接利用pip安装,但我试了一下不行。。所以老老实实使用源代码手动安装。中途我遇到的错误后面有解决办法,如未出现error继续安装即可。
首先下载basemap安装包。我是用的anaconda,直接下载了Source code(tar.gz),解压后进terminal安装。
解压后进入文件夹/basemap-1.2.2rel/geos-3.3.3并且修改环境变量GEOS_DIR
cd Downloads/basemap-1.2.2rel/geos-3.3.3
export GEOS_DIR=/usr/local
./configure --prefix=$GEOS_DIR
后开始make,运行时间可能会有点长,大概5-10分钟,是正常现象。
make
sudo make install # 加上sudo给最高权限防止报错
最后回到/basemap-1.2.2rel文件夹下进行最终安装:
cd ..
sudo python setup.py install # 加最高权限防止报错
安装完成后进入Python检查是否安装成功
python
import pyproj
import geos
from mpl_toolkits.basemap import Basemap
存在一个疑问:如果直接from mpl_toolkits.basemap import Basemap
会提示modules不存在,但在import pyproj和geos后可正常使用。有大佬能解答吗。。
可能出现的错误及解决办法
- 部分可能会报错:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
安装xcode-select即可解决。
终端输入xcode-select --install
,弹出对话框安装可解决。 - 在设置时提示Operation not permitted:
Mac更新后加入保护机制,如果须关闭Rootless机制,重启电脑同时按住command+R,进入恢复模式,只需打开Terminal命令窗口输入:
csrutil disable
reboot # 重启
参考文章:
https://www.jianshu.com/p/aa0c47af02a4?utm_campaign
https://www.jianshu.com/p/652c252525a4