无法在python中导入gdal?


问题内容

我已经gdal在Ubuntu Jaunty上安装并运行,但gdal2tiles由于出现错误而无法运行:

Traceback (most recent call last):
  File "/usr/local/bin/gdal2tiles.py", line 42, in <module>
    import gdal
ImportError: No module named gdal

当我打开python并输入时import gdal,出现相同的错误。

set LD_LIBRARY_PATH(没有空格!)到,/usr/local/lib但似乎没有任何区别。

看起来Python找不到gdal。有人可以帮忙吗?

谢谢!


问题答案:

Ith似乎是“ Python路径 ”问题。在定义的路径中查找Python库。尝试

import sys
sys.path

如果gdal.py和相关文件所在的目录不在此列表中,则Python无法找到它。这是针对“诊断”部分的。为了解决这种情况,您有几种选择…它们全部取决于了解Python用于构建此路径的规则。

  • 可以更改PYTHONPATH环境变量以包括所需的路径
  • 可以从所需库所在的目录中启动Python。
  • 可以使用sys.path.append(“ / SomePath / To / MyStuff”)动态更改sys.path

在“官方”
Python文档中,我唯一看到过与sys.path构建相关的规则的地方是在教程的6.1.2节中


在变量sys.path给定的目录列表中搜索模块
从包含输入脚本的目录(或 
当前目录),PYTHONPATH和依赖于安装的默认值。这个
允许知道自己在做什么的Python程序会修改或替换
模块搜索路径。请注意,因为包含脚本的目录为
运行在搜索路径上,重要的是脚本名称不要相同
作为标准模块,否则Python将在以下情况下尝试将脚本加载为模块
该模块已导入。这通常是一个错误。见章节
有关更多信息的标准模块。