没有名为 ogr 的模块

No module named ogr

我正在尝试使用 ogr 模块,我尝试使用 pip 安装它时出现错误:

找不到满足要求的版本 ogr(来自版本:) 找不到 ogr

的匹配分布

尝试安装包括 GDAL 在内的所有软件包,但仍然出现错误

"No module named ogr.

在 google 上找不到有效的解决方案。

这就是我正在尝试的代码 运行:

    import ogr,csv,sys
import shapefile
shpfile=sys.argv[1]
# csvfile=r'C:\Temp\test.csv' #sys.argv[2]
#Open files
csvfile=open('converterOutput.csv','wb')
ds=ogr.Open(shpfile)
lyr=ds.GetLayer()

#Get field names
dfn=lyr.GetLayerDefn()
nfields=dfn.GetFieldCount()
fields=[]
for i in range(nfields):
    fields.append(dfn.GetFieldDefn(i).GetName())
fields.append('kmlgeometry')
csvwriter = csv.DictWriter(csvfile, fields)
try:csvwriter.writeheader() #python 2.7+
except:csvfile.write(','.join(fields)+'\n')

# Write attributes and kml out to csv
for feat in lyr:
    attributes=feat.items()
    geom=feat.GetGeometryRef()
    attributes['kmlgeometry']=geom.ExportToKML()
    csvwriter.writerow(attributes)

#clean up
del csvwriter,lyr,ds
csvfile.close()

请先安装 python GDAL 包然后导入类似这样的东西

 from osgeo import ogr

或者您可以关注下方link [https://pypi.org/project/GDAL/]

对于Windows:

转到 gisinternals site select 下载 link 适合您的体系结构和编译器,搜索 Generic installer for the GDAL core components msi,下载并安装为 typical .

您有两个选择,第二个需要您安装 pip,第一个必须设置路径变量。

1.) 下载 Installer for the GDAL python bindings (requires to install the GDAL core) msi,并安装。

打开cmd并输入:

setx PATH "%PATH%;C:\Program Files (x86)\GDAL"
setx PATH "%GDAL_DATA%;C:\Program Files (x86)\GDAL\gdal-data"
setx PATH "%GDAL_DRIVER_PATH%;C:\Program Files (x86)\GDAL\gdalplugins"

*请注意,上面的每一个命令都是一个单独的命令,所以复制粘贴并输入,每一个单独。如果您下载了 x64 版本,只需删除 (x86)。

2.) 到the unofficial python wheels site 搜索与您已安装的核心相匹配的版本,下载。 然后,将路径复制到您刚刚下载的文件,在我的例子中:

C:\Users\admin\donwloads\GDAL‑2.2.4‑cp27‑cp27m‑win_amd64.whl

获得路径后,键入 windows 键加 r,然后在 cmd 中输入:

pip install "your path to the wheel you have downloaded"

在我的例子中它看起来像:

pip install C:\Users\admin\donwloads\GDAL‑2.2.4‑cp27‑cp27m‑win_amd64.whl (look where the file is located).

只测试 运行 cmd 并输入:

python

一旦您进入 python shell:

import gdal

如果您需要为 Mac 安装库,请查看 the tutorial written by me,或添加评论以便我更新答案。

参考文献:UCLA