设为首页 收藏本站
查看: 1070|回复: 0

[经验分享] Eclipse中调试Python代码--调试FWTools2.4.7中的gdal_retile.py

[复制链接]

尚未签到

发表于 2017-5-6 12:28:32 | 显示全部楼层 |阅读模式


  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 gdal将FWTools2.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,弹出向导:

   DSC0000.gif


  

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



   DSC0001.gif


  

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

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


   DSC0002.gif


  

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


   DSC0003.gif


  

  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

  


  转载自:http://blog.csdn.net/BoomingZhenhua/archive/2010/07/09/5722637.aspx

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373814-1-1.html 上篇帖子: 在Python 2.5 下安装Trac 0.12项目管理系统 下篇帖子: 动态语言ruby、groovy、python基本语法复习1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表