GDAL在不同python版本下的编译问题

对于GDAL相信大家都很熟悉,其在python下的编译也很成熟,详细可以参考李民录专家的博文--《GDAL源码剖析(三)之Swig编译和帮助文档生成》,完成后会在python安装目录下的Lib\site-packages\里些关于gdal的文件,在使用时只需输入from osgeo import gdal 命令之后就可以使用gdal的函数了。但也有些不喜欢搞编译的童鞋,例如本人,就直接去下载李民录老师那里直接编译好的gdal,然后拷贝到自己python\Lib\site-packages\文件夹后,再输入from osgeo import gdal就会出现如下错误:

很是不解,于是自己利用vs2010又重新编译GDAL原码之后,gdal导入就没有问题,是不是不同版本的python编译过后的gdal不能互相使用,于是在python3.3.1版本下编译的gdal生成的文件烤到python2.6.5下,也会出现上述的问题。再对python2.6.5的编译后生成的烤到python3.3.1的还是会出现上述问题。如果将python2.6.5下编译的版本拷贝到另外一台电脑装有python2.6.5的环境中,就可以使用gdal。将python3.3.1也这样做,gdal也可以调用成功。那是否能断定在不同python下编译的gdal库是不能够互相使用的,或者需要进行特别的修改后又可以使用?目前暂时建议,如果使用人家编译好的python的gdal库,最好使用对应相同版本的pyhon环境。

 

疑问自解:

出现上面的错误主要是因为python编译gdal.dll不在当前环境变量中,只要把生成的gdal.dll所在路径设置为当前用户的环境变量,就不会出现上面的问题了,至于上面不同版本之间编译的GDAL的库在不同版本python下调用是没有问题的。希望被我误导的童鞋及时纠正过来,嘿嘿~

 

 

关于python下gdal的使用还想再说明一点:

不知是否是受windows环境的影像还是gdal1.9.1版本的问题,在python导入gdal后,对于打开一幅影像的python代码:dataset = gdal.Open(filepath,GA_ReadOnly),如果filepath = 'c:\test\test.tif'或者filepath = "c:\test\test.tif"(假设影像在c盘的test目录下),这样得到的dataset 也总是为None,这是因为文件路径没有进行字符转义的原因,使用filepath = 'c:\\test\\test.tif',filepath = "c:/test/test.tif"(注意斜杠的方向)或者filepath = r'''c:\test\test.tif'''后,文件才会被打开。所以在使用python调用gdal函数打开文件路径也要注意此点。

在此感谢好友张祖鹏给于悉心地指导,但对于不同版本python下编译好的gdal库为什么不能使用在不同版本python环境中,还未能很好解译,还希望有高手给于帮助,笔者在此先谢过。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值