python3.8安装cartopy使用报错:DLL load failed while importing trace

  1. 背景
    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.
  2. 解决
    找了一圈发现可能是因为丢失了某个trace文件??(不是很懂,找了很多地方也没有解决)此问题搁置了很久之后,今天发现了一个博主提供的cartopy包,据说可以提供解决该问题的方法,地址:
    python安装cartopy库报错更新

将文件下载后将整个cartopy文件夹覆盖复制到D:\python\python3.8.3\Lib\site-packages下,重新运行可以正常使用,故记录一下以备日后查阅。

  1. 案例
    案例展示在全球地图上画出磁赤道的大概位置:
    python3.8安装cartopy使用报错:DLL load failed while importing trace_第1张图片
    代码如下:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import numpy as np

# plt.axes是创建一个轴(或者说是主体) projection参数可以理解为将三维的地理信息如何投影为二维的地理信息,这个时候参数的值就是投影方式,此时是常用的平面投影
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()  # 将图像显示出来

你可能感兴趣的:(其他笔记,python)