Python不会导入正确的GDAL版本

时间:2015-06-27 03:03:08

标签: python python-2.7 gdal

我刚用home-brew来更新我的GDAL版本。我使用的是GDAL版本1.11,它无法读取.grd文件。

import gdal
import matplotlib.pyplot as plt
from colormap import Colormap

quant = gdal.Open('.../pct1/pct1.grd')

ERROR 4: `/Users/Nate/Documents/CSU/DroughtNet/WebApps/WorldClim_ShinyApp/data/pct1/pct1.grd' not recognised as a supported file format.

我使用Homebrew将我的GDAL版本更新为1.9以查看是否能解决问题,并且GDAL确实安装成功。但是,我无法让Python导入相应的GDAL版本,它仍然导入版本1.11。

我已经尝试编辑sys.path文件,将当前的GDAL框架放在前面,但是没有这样做。 Homebrew安装说要运行

mkdir -p /Users/Nate/Library/Python/2.7/lib/python/site-packages
echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/Nate/Library/Python/2.7/lib/python/site-packages/homebrew.pth

我做了什么,但那也没用。可能是因为我的Python不是从/ Users / Nate / Library / Python /运行,而是来自不同的地方。有关如何让Python识别最新GDAL版本的任何建议吗?

更新

根据Matthew的评论,我能够获得正确版本的GDAL(1.9)加载。但是,它仍然无法读取我的.grd文件。我是否需要添加一个扩展才能读取这些文件?

1 个答案:

答案 0 :(得分:0)

这听起来像是虚拟环境的工作。我将从您提到的环境中创建一个隔离的环境(使用virtualenv)并尝试使用该Python环境导入GDAL。这样,它将有一个新的路径,你可以玩导入它。

如果您不想使用虚拟环境,则应仔细检查以确保导入正确的GDAL版本。如果1.9是在单独的地方编写的,而不是覆盖1.11

,则您的脚本可能正在导入旧脚本

至于调试步骤:

  1. 每次运行脚本时尝试打印出Python路径
  2. 每次运行时打印出GDAL版本
  3. 尝试摆弄检查模块(documentation)并查看从哪里导入GDAL,看看是否可以从中确定任何内容