Eclipse中调试Python代码--调试FWTools2.4.7中的gdal_retile.py

Eclipse中调试Python代码

Gdal_retile.py是用于对遥感影像创建金字塔,近期本人想读懂改程序中的代码。读懂代码的较好方式就是单步调试,但是由于之前没有学过Python语言,不但对语言不熟悉,对其开发环境也一无所知。没想到第一次接触就遇到了难题,搞了将近两天才把调试环境配置成功。我在解决这个问题的时候也曾在网上搜索解决办法,但是几乎没有什么有价值的信息,因此决定将经验分享出来供大家参考。

FWTools2.4.7安装成功后,在开始菜单中运行FWTools Shell会弹出Dos窗口,在其中可以执行gdal_retile命令,该命令其实执行的是gdal_retile.bat,该bat文件转调gdal_retile.py。你会发现,如果你不是用FWTools Shell弹出的Dos窗口执行命令,而是单独打开Dos窗口,在该窗口中执行gdal_retile.bat会失败,这是因为FWTools Shell在打开Dos窗口之前设置6个重要的环境变量,它们分别是:

 

---------

PATH=C:/PROGRA~1/FWTOOL~1.7/bin;C:/PROGRA~1/FWTOOL~1.7/python;

set PYTHONPATH=C:/PROGRA~1/FWTOOL~1.7/pymod

set FWTOOLS_DIR=C:/PROGRA~1/FWTOOL~1.7

set GDAL_DATA=C:/PROGRA~1/FWTOOL~1.7/data

set GDAL_DRIVER_PATH=C:/PROGRA~1/FWTOOL~1.7/gdal_plugins

set GEOTIFF_CSV=C:/PROGRA~1/FWTOOL~1.7/data

set PROJ_LIB=C:/PROGRA~1/FWTOOL~1.7/proj_lib

---------

 

需要注意的是FWTools2.4.7使用Python的安装位置是“C:/Program Files/FWTools2.4.7/python”,它的版本是2.3.4,也许你的机器上已经有不同的版本的Python解释器,例如我的机器上,由于安装了ArcGIS软件,我的磁盘C:/Python25已经存在一个2.5版本的解释器。为了能够调试Python程序,我从网上搜索相关信息,不少人建议使用PythonWin,于是我安装了PythonWin2.5,该程序默认与C:/Python25安装在一起。

通过PythonWin中的File菜单打开FWTools2.4.7/bin/gdal_retile.py并单步调试,出现错误。错误的原因是“import gdal”错误,import gdalFWTools2.4.7/pymod/gdal.py中的191行代码“import _gdal”,该语句的意图是加载FWTools2.4.7/pymod/_gdal.dll库,但是由于PythonWin的环境变量设置,调试器无法找到dll库所在路径。我尝试在PythonWin/Tools/Edit Python Path菜单中更改环境变量,可是尝试了多种方法最终没有解决该问题。

接下来,思考再三,分析该错误的原因要么是环境变量设置问题,要么是两个不同版本的Python存在,引起冲突。我对操作系统的环境变量做了设置,将上述六个环境变量都添加到系统环境变量中,结果还是无法调试。然后我觉得应该换一个开发环境,该开发环境应该具备两个条件:1,可以设置Python库的位置;2,可以设置程序依赖的环境变量。 最后找到了Pydev http://pydev.org/index.html),下载1.5.8版本(org.python.pydev.feature-1.5.8.2010062823.zip)。这个工具之前我也没有接触过,它是Eclipse的插件。下载后,将其加入到Eclipse中(如何添加插件问Google)。

Pydev插件安装成功后,在Eclipse新建工程时多了一项“Pydev”,选择新建Pydev Project,弹出向导:

 

 

点击“Click here to configure an interpreter not listed”配置Python解释器的位置和版本,如下:

 

 

 

 

新建一个Python解释器,名字为Python2.3.4,然后指定其位置在C:/Program Files/FWTools2.4.7/pythonEclipse自动提示将C:/Program Files/FWTools2.4.7/python/Dlls, lib等添加进去。除了除了这几个目录还要添加几个目录。点击“New Folder”分别添加C:/Program Files/FWTools2.4.7/python/binC:/Program Files/FWTools2.4.7/python/proj_lib

配置到这里,还是不能成功import gdal,还需要配置环境变量。同样在这个对话框中,点击Environment,如下图:

 

 

 

点击“New...”创建环境变量:

 

 

 

Name Path

Value是:C:/PROGRA~1/FWTOOL~1.7/bin;C:/PROGRA~1/FWTOOL~1.7/python;

 

将C:/PROGRA~1/FWTOOL~1.7/bin/gdal_retile.py 拷贝到Eclipse工程的Src目录,按F11进行调试 OK了。

 

可以为python程序配置启动参数,鼠标右键点击gdal_retile.py选择Debug As菜单中的Debug Configurations弹出:

 

 

 

参数为

-levels 3 -ps 512 512 -co "TILED=YES" -co "BLOCKXSIZE=256" -co "BLOCKYSIZE=256" -co "COMPRESS=JPEG" -co "JPEG_QUALITY=75" -s_srs EPSG:4326 -v -targetDir D:/temp D:/1.tif

     ---调试FWTools2.4.7中的gdal_retile.py

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值