- 背景
python3.8环境下根据博客中的步骤安装cartopy后出现报错: 安装cartopy参考博客: Cartopy安装教程 其主要思路是在官方网站上下载自己所需要的whl文件到电脑,再利用pip install进行安装,在成功安装需要的包后,准备画图时却发现不能用,报错为:ImportError: DLL load failed while importing trace: 找不到指定的模块。 最后定位在这里: Traceback (most recent call last): File “draft1.py”, line 6, in import cartopy.crs as ccrs File “D:\python\python3.8.3\Lib\site-packages\cartopy_init_.py”, line 96, in import cartopy.crs File “D:\python\python3.8.3\Lib\site-packages\cartopy\crs.py”, line 26, in import cartopy.trace ImportError: DLL load failed while importing _crs: The specified module could not be found. - 解决
找了一圈发现可能是因为丢失了某个trace文件??(不是很懂,找了很多地方也没有解决)此问题搁置了很久之后,今天发现了一个博主提供的cartopy包,据说可以提供解决该问题的方法,地址: python安装cartopy库报错更新
将文件下载后将整个cartopy文件夹覆盖复制到D:\python\python3.8.3\Lib\site-packages下,重新运行可以正常使用,故记录一下以备日后查阅。
- 案例
案例展示在全球地图上画出磁赤道的大概位置: 代码如下:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import numpy as np
ax = plt.axes(projection=ccrs.PlateCarree())
ax.coastlines()
ax.set_extent([-180,180, -90, 90], crs=ccrs.PlateCarree())
ax.set_xticks(np.arange(-180, 181, 30), crs=ccrs.PlateCarree())
ax.set_yticks(np.arange(-90, 91, 15), crs=ccrs.PlateCarree())
gl = ax.gridlines(draw_labels=False, linewidth=0.2, color='k', linestyle=':')
f1 = open('magneticEquatorData.txt','r')
obsLines = f1.readlines()
magEqu_lat = []
magEqu_lon = []
for i in range(len(obsLines)):
fields = obsLines[i].split()
magEqu_lat.append(float(fields[0]))
magEqu_lon.append(float(fields[1]))
plt.plot(magEqu_lon, magEqu_lat,'s', color = 'b',markersize=2)
plt.show()
|