python-2.7 - 为什么我收到 ImportError: No module named _gdal for GDAL in python2.7 on Amazon Linux 2
问题描述
我按照这些说明在运行 Amazon Linux 2 的新 AWS t3a.large EC2 实例上安装 GDAL 3.2.0 以用于 python2.7 程序。安装似乎已经成功,但是from osgeo import gdal
在 python 中使用时,我收到以下错误消息:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib64/python2.7/site-packages/osgeo/__init__.py", line 32, in <module>
_gdal = swig_import_helper()
File "/usr/local/lib64/python2.7/site-packages/osgeo/__init__.py", line 31, in swig_import_helper
return importlib.import_module('_gdal')
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named _gdal
当我搜索文件 _gdal* 时,我得到:
/tmp/gdal-3.2.0/swig/python/build/lib.linux-x86_64-2.7/osgeo/_gdalconst.so
/tmp/gdal-3.2.0/swig/python/build/lib.linux-x86_64-2.7/osgeo/_gdal.so
/tmp/gdal-3.2.0/swig/python/build/lib.linux-x86_64-2.7/osgeo/_gdal_array.so
/usr/local/lib64/python2.7/site-packages/osgeo/_gdalconst.so
/usr/local/lib64/python2.7/site-packages/osgeo/_gdal.so
/usr/local/lib64/python2.7/site-packages/osgeo/_gdal_array.so
这是我所做的一切:
sudo yum groupinstall "Development Tools"
sudo yum install python-pip
sudo pip install numpy
sudo yum install cpp.x86_64 sqlite-devel.x86_64 libtiff.x86_64 cmake3.x86_64 -y
cd /tmp
wget https://download.osgeo.org/proj/proj-6.1.1.tar.gz
tar -xvf proj-6.1.1.tar.gz
cd proj-6.1.1
./configure
sudo make
sudo make install
cd ..
wget https://github.com/OSGeo/gdal/releases/download/v3.2.0/gdal-3.2.0.tar.gz
tar -xvf gdal-3.2.0.tar.gz
cd gdal-3.2.0
./configure --with-proj=/usr/local --with-python
sudo make
sudo make install
which gdalinfo; gdalinfo --version
GDAL 3.2.0, released 2020/10/26
export PYTHONPATH=$PYTHONPATH:/usr/local/lib64/python2.7/site-packages
任何帮助将不胜感激。
解决方案
我找到了答案。我需要export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
推荐阅读
- json - 如何从自制的restfull_api中检索数据
- facebook - Facebook jssdk 自定义共享提要界面。为什么图片的参数不起作用?
- kendo-ui - 在 Kendo Ui 树列表中编辑数据时如何获取字段值
- postgresql - 如何使用 plpgsql 从服务器中删除文件?
- html - 如何将文本放在交叉渐变滑块上?
- javascript - 如何过滤数组内部的不同数组
- php - Laravel 5.8 / Yajrabox-datatables - 设置服务
- python - 运行时警告此通道已在使用中
- scala - 如果测试覆盖率未达到最低阈值,如何中断构建?
- c# - 在 Gridview ASP.NET 的标题中添加行数