我正在尝试使用Blender Python API(基于Python 3)使用Blender导出GeoTiff,因此我决定在Ubuntu(14.04)上安装GDAL。我想要的是将模块作为一个独立的文件夹,我可以放在Blender的模块目录中(/home/user/.config/blender/2.73/scripts/modules)。
问题是我在尝试安装GDAL时遇到了几个不同的问题。我尝试从源代码(对于GDAL 2.0.0)安装:Official PyPi Gdal
sudo apt-get install libgdal-dev gdal-bin
(我在这里列出因为它可能很重要)python setup.py build & python setup.py install
处于解压缩的GDAL文件夹中时,库将安装到/usr/local/lib/python2.7/dist-packages/osgeo
。但是,当我从命令行运行python
时,运行from osgeo import osr
会返回ImportError: No module named _gdal
pip install GDAL
)来安装库,它使用的文件夹是/usr/lib/python3/dist-packages/osgeo
(使用pip show ...
)。再次,运行python3
并尝试导入相同错误的结果。当然,当我在blender模块目录中复制粘贴每个文件夹时,我在Blender Python控制台中得到了同样的错误。 ./configure --with-python & make & make install
编译源代码。然后我将文件夹GDAL-x.x.x/build/lib.linux-x86_64-3.4/osgeo
复制到blender modules目录,并在导入时得到错误ImportError: /home/yvesu/.config/blender/2.73/scripts/modules/osgeo/_gdal.so: undefined symbol: _Py_ZeroStruct
。python3 setup.py build
使用python3进行编译会返回错误error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
编辑1 :
我想我已经找到了解决方案:我去了目录swig/python
(在GDAL-1.11.0文件夹中找不到但gdal-1.11.0 fodler,不记得我从哪里下载了它),跑了python3 setup.py build & python3 setup.py install
,最终可以找到/usr/local/lib/python3.4/dist-packages/GDAL-1.11.0-py3.4-linux-x86_64.egg/osgeo
中的文件夹。当我把这个osgeo文件夹放在Blender模块目录上时,我能够在Blender中导入osgeo。如果出现任何问题,我会报告。
我想我已经列出了在Ubuntu上安装GDAL的所有尝试。谁能指出我正确的方向?您是否认为甚至可以将其作为独立模块安装,或者我是否需要通过LD_LIBRARY_PATH链接库?
答案 0 :(得分:3)
以下是我发现的解决方案:
从ftp://ftp.remotesensing.org/gdal/2.0.0/或http://download.osgeo.org/gdal/2.0.0/下载Gdal来源(v2.0.0是当前的稳定版本)并解压缩
转到目录gdal2.0.0 / swig / python
运行python3 setup.py build& python3 setup.py install
最后在Ubuntu上找到模块文件夹:/usr/local/lib/python3.4/dist-packages/GDAL-2.0.0-py3.4-linux-x86_64.egg/osgeo
我现在可以在Blender中使用它(在模块目录中复制)