我刚刚使用conda将gdal安装到了我的Python3根环境中:
conda install -c conda-forge gdal
安装正常,并且对某些依赖项进行了常规更新。现在返回我的一些脚本,netCDF4和mpl_toolkits.basemap均已停止工作。这些是我得到的错误:
from netCDF4 import Dataset
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-7-09694a7f0e01> in <module>()
----> 1 from netCDF4 import Dataset
2 import numpy as np
3 import matplotlib.pyplot as plt
4 from scipy.interpolate import griddata
5 from mpl_toolkits.basemap import Basemap
/anaconda3/lib/python3.6/site-packages/netCDF4/__init__.py in <module>()
1 # init for netCDF4. package
2 # Docstring comes from extension module _netCDF4.
----> 3 from ._netCDF4 import *
4 # Need explicit imports for names beginning with underscores
5 from ._netCDF4 import __doc__, __pdoc__
ImportError: dlopen(/anaconda3/lib/python3.6/site-packages/netCDF4/_netCDF4.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libhdf5.101.dylib
Referenced from: /anaconda3/lib/python3.6/site-packages/netCDF4/_netCDF4.cpython-36m-darwin.so
Reason: image not found
from mpl_toolkits.basemap import Basemap
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-8-5fb601138328> in <module>()
3 import matplotlib.pyplot as plt
4 from scipy.interpolate import griddata
----> 5 from mpl_toolkits.basemap import Basemap
6 import numpy.ma as ma
7 import glob
/anaconda3/lib/python3.6/site-packages/mpl_toolkits/basemap/__init__.py in <module>()
35 import numpy as np
36 import numpy.ma as ma
---> 37 import _geoslib
38 import functools
39
ImportError: dlopen(/anaconda3/lib/python3.6/site-packages/_geoslib.so, 2): Library not loaded: @rpath/libgeos-3.5.0.dylib
Referenced from: /anaconda3/lib/python3.6/site-packages/_geoslib.so
Reason: image not found
我不知道这些错误是什么意思,因为这些路径确实存在。最令人困惑的是,随着gdal的安装,netCDF4和mpl_toolkits模块没有更改(即未更新/降级),所以为什么现在它们失败了?
我对这样的问题束手无策。幸运的是,在尝试进行此安装之前,我已经复制了我的Python根目录,因此现在可以恢复到该目录(之前已经来过很多次)。
我知道在单独的conda环境中工作,但是每次我要使用新的Python模块时,是否应该认真安装新的环境?这不仅占用了大量硬盘空间,而且最不便的是,这意味着不可能在旧代码中添加新功能(我想使用GDAL使用底图绘制一些地理坐标,但现在无法使用!)。
我无法想象熟练的Python用户会与这些问题作斗争-那么我在做什么错呢?