Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安装Python3.6的GDAL时导入错误_Python_Python 3.x_Sqlite_Anaconda_Gdal - Fatal编程技术网

安装Python3.6的GDAL时导入错误

安装Python3.6的GDAL时导入错误,python,python-3.x,sqlite,anaconda,gdal,Python,Python 3.x,Sqlite,Anaconda,Gdal,我正在尝试为我的Anaconda Python 3.6安装GDAL库。在过去,conda install gdal命令通常是实现这一点的最佳方法,但它尚未针对新版本的Python进行更新。这就让我从源代码安装和构建pip。我用两种方法都这样做了,但在执行此操作时仍会出现相同的错误消息: >>> import gdal Traceback (most recent call last): File "<stdin>", line 1, in <module&

我正在尝试为我的Anaconda Python 3.6安装GDAL库。在过去,conda install gdal命令通常是实现这一点的最佳方法,但它尚未针对新版本的Python进行更新。这就让我从源代码安装和构建pip。我用两种方法都这样做了,但在执行此操作时仍会出现相同的错误消息:

>>> import gdal
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/anaconda3/lib/python3.6/site-packages/GDAL-2.2.0-py3.6-linux-x86_64.egg/gdal.py", line 2, in <module>
from osgeo.gdal import deprecation_warn
  File "/home/user/anaconda3/lib/python3.6/site-packages/GDAL-2.2.0-py3.6-linux-x86_64.egg/osgeo/__init__.py", line 21, in <module>
_gdal = swig_import_helper()
  File "/home/user/anaconda3/lib/python3.6/site-packages/GDAL-2.2.0-py3.6-linux-x86_64.egg/osgeo/__init__.py", line 17, in swig_import_helper
_mod = imp.load_module('_gdal', fp, pathname, description)
  File "/home/user/anaconda3/lib/python3.6/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
  File "/home/user/anaconda3/lib/python3.6/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: /usr/local/lib/libgdal.so.20: undefined symbol: sqlite3_column_table_name
导入gdal 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/home/user/anaconda3/lib/python3.6/site packages/GDAL-2.2.0-py3.6-linux-x86_64.egg/GDAL.py”,第2行,在 从osgeo.gdal导入弃用\u警告 文件“/home/user/anaconda3/lib/python3.6/site packages/GDAL-2.2.0-py3.6-linux-x86_64.egg/osgeo/_init__.py”,第21行 _gdal=swig\u import\u helper() swig\u import\u helper中的第17行文件“/home/user/anaconda3/lib/python3.6/site packages/GDAL-2.2.0-py3.6-linux-x86_64.egg/osgeo/__init__uuuuuu.py” _mod=imp.load_模块(“gdal”,fp,路径名,描述) 加载模块中的文件“/home/user/anaconda3/lib/python3.6/imp.py”,第242行 返回加载动态(名称、文件名、文件) 文件“/home/user/anaconda3/lib/python3.6/imp.py”,第342行,动态加载 返回负载(规格) 导入错误:/usr/local/lib/libgdal.so.20:未定义的符号:sqlite3\u列\u表\u名称
我有Ubuntu 16.04。我在网上广泛搜索以找到解决方案,但这些方法都不适合我。有什么想法吗

如果您还没有,我建议升级conda。我在本地机器的Mac OS和Docker容器的Debian上都遇到了同样的问题,升级到4.3.30后,这两个问题都得到了解决。

您必须从osgeo import gdal调用


它甚至在您的错误中说导入gdal已贬值。

仅供参考,这对Python 3.5确实有效。我目前的工作是降级到Python3.5.3,但我仍然想知道如何为Python3.6做到这一点。您考虑过使用conda forge频道吗?在Win64上,GDAL2.2和py36工作正常,因此肯定存在一些构建/编译错误
conda安装gdal-c conda forge
谢谢你的建议,但它似乎对Ubuntu不起作用。这是一个不同的错误,它还弄乱了我安装的其他一些软件包。