gpt4 book ai didi

Python 3.4 导入错误 : No module named '_gdal_array' No module named '_gdal_array'

转载 作者:太空狗 更新时间:2023-10-30 01:36:46 28 4
gpt4 key购买 nike

尽管几年前学习过 python (2.7),但我才刚刚开始再次使用它。我正在使用 python 3.4.4 并尝试使用 GDAL 包将栅格读取为数组。我按照此处概述的步骤操作: https://sandbox.idre.ucla.edu/sandbox/tutorials/installing-gdal-for-windows除了 Python 3.4 并使用此处的 GDAL 二进制文件:http://www.gisinternals.com/release.php

在测试基本功能时,我尝试读取一个 tiff 文件,如图所示

import gdal as gdal
import numpy as np
import ogr
import osr
import os
import sys
e=('error has occurred')

# this allows GDAL to throw Python Exceptions
gdal.UseExceptions()

# open dataset
test = ('LE70130312004049EDC01_sr_adjacent_cloud_qa.tif')
print("file exists")


# getting metadata
gtif = gdal.Open(test)
print (gtif.GetMetadata())
print("metadata printed")

try:
src_ds = gdal.Open(test)
print("gdal.open success")
except (RuntimeError):
print ('Unable to open INPUT.tif')
print(e)

try:
srcband = src_ds.GetRasterBand(1)
print("get raster band 1 success")
except (RuntimeError):
# for example, try GetRasterBand(10)
print ('Band ( %i ) not found') % band_num
print (e)


try:
rasArray=np.array(src_ds.ReadAsArray())
print("read as array")
except (RuntimeError):
print (e)

当我用“rasArray=np.array(src_ds.ReadAsArray())”运行最后一个 block 时,我收到以下错误代码:

Traceback (most recent call last):
File "C:\Python34\lib\site-packages\osgeo\gdal_array.py", line 16, in swig_import_helper
fp, pathname, description = imp.find_module('_gdal_array', [dirname(__file__)])
File "C:\Python34\lib\imp.py", line 297, in find_module
raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named '_gdal_array'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\dem12002\Desktop\test.py", line 38, in <module>
rasArray=np.array(src_ds.ReadAsArray())
File "C:\Python34\lib\site-packages\osgeo\gdal.py", line 1829, in ReadAsArray
from . import gdalnumeric
File "C:\Python34\lib\site-packages\osgeo\gdalnumeric.py", line 1, in <module>
from osgeo.gdal_array import *
File "C:\Python34\lib\site-packages\osgeo\gdal_array.py", line 26, in <module>
_gdal_array = swig_import_helper()
File "C:\Python34\lib\site-packages\osgeo\gdal_array.py", line 18, in swig_import_helper
import _gdal_array
ImportError: No module named '_gdal_array'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\dem12002\Desktop\test.py", line 40, in <module>
except (RuntimeError,e):
NameError: name 'e' is not defined

这个问题与我安装 GDAL 或 Python 的方式有关吗?我应该切换到 Python 2.7 吗?我见过很多关于“没有命名的模块”的问题,但是像这样涉及 GDAL 问题的问题并不多。

更新:我只是从我下载的 msi 中重新安装 GDAL,它会自动为我修复它。谁会知道这是那么容易。谢谢!

最佳答案

我也遇到了这个问题,我是这样解决的:

pip3 uninstall gdal
pip3 install numpy
pip3 install gdal

顺便说一句,我正在使用 MAC 操作系统

关于Python 3.4 导入错误 : No module named '_gdal_array' No module named '_gdal_array' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289299/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com