获取“django.core.exceptions.ImproperlyConfigured:需要 GEOS,但尚未检测到”。虽然安装了GEOS

2023-11-24

我在跑姜戈 1.8 and Python 3.4 on Ubuntu 14.04 LTS。就在最近,我的 Django 应用程序报告了这一点GEOS不存在。GEOS已安装并且libgeos_c.so是它应该在的地方(/usr/lib/)。我的代码看起来不错。它是仍然有效的 docker 镜像的来源。这似乎表明存在操作系统/不兼容问题。任何帮助将非常感激。

完整的回溯是

Traceback (most recent call last):
  File "<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydevd.py", line 2358, in <module>
    globals = debugger.run(setup['file'], None, None, is_module)
  File "<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydevd.py", line 1778, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc) 
  File "<path/to/my/pycharm/project>/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2231, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2214, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2203, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1448, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/contrib/auth/models.py", line 41, in <module>
    class Permission(models.Model):
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/db/models/base.py", line 139, in __new__
    new_class.add_to_class('_meta', Options(meta, **kwargs))
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/db/models/base.py", line 324, in add_to_class
    value.contribute_to_class(cls, name)
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/db/models/options.py", line 250, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/db/__init__.py", line 36, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/db/utils.py", line 240, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/db/utils.py", line 111, in load_backend
    return import_module('%s.base' % backend_name)
  File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2231, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2214, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2203, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1448, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/contrib/gis/db/backends/postgis/base.py", line 8, in <module>
    from .features import DatabaseFeatures
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/contrib/gis/db/backends/postgis/features.py", line 1, in <module>
    from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/contrib/gis/db/backends/base/features.py", line 3, in <module>
    from django.contrib.gis.db.models import aggregates
  File "<path/to/my/virtualenv>/lib/python3.4/site-packages/django/contrib/gis/db/models/__init__.py", line 12, in <module>
    "See also https://docs.djangoproject.com/en/%s/ref/contrib/gis/install/geolibs/" % get_docs_version())
django.core.exceptions.ImproperlyConfigured: GEOS is required and has not been detected. Are you sure it is installed? See also https://docs.djangoproject.com/en/1.8/ref/contrib/gis/install/geolibs/

我尝试过重新安装libgdal-dev。所有相关软件包(GDAL、GEOS 等)都是最新的。

我尝试过重新审视 Python 代码。它失败了django/contrib/gis/geos/__init__.py关于以下内容。由于 HAS_GEOS 设置为 false,因此报告 GEOS 不存在。

try:
    from .libgeos import geos_version, geos_version_info  # NOQA: flake8 detects only the last __all__
    HAS_GEOS = True
    __all__ += ['geos_version', 'geos_version_info']
except ImportError:
    HAS_GEOS = False

我怀疑最近的操作系统升级/补丁损坏了 GEOS 或 GDAL。根本原因似乎与ctypes,但我看不出它可能是什么。

以下内容可能有用。

>>> from _ctypes import Union, Structure, Array
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: /usr/lib/python3.4/lib-dynload/_ctypes.cpython-34m-x86_64-linux-gnu.so: undefined symbol: _PyTraceback_Add


>>> from django.contrib.gis import gdal
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/<path/to/my/virtualenv>/lib/python3.4/site-packages/django/contrib/gis/gdal/__init__.py", line 47, in <module>
    from django.contrib.gis.gdal.driver import Driver  # NOQA
  File "/<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/<path/to/my/virtualenv>/lib/python3.4/site-packages/django/contrib/gis/gdal/driver.py", line 1, in <module>
    from ctypes import c_void_p
  File "/<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/usr/lib/python3.4/ctypes/__init__.py", line 7, in <module>
    from _ctypes import Union, Structure, Array
  File "/<path/to/my/homedir>/pycharm-4.5.1/helpers/pydev/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: /usr/lib/python3.4/lib-dynload/_ctypes.cpython-34m-x86_64-linux-gnu.so: undefined symbol: _PyTraceback_Add

我今天遇到了同样的问题,尽管是在一个不相关的 python 项目中。这是我也遇到过的一行,它引导我来到这里:

ImportError: /usr/lib/python3.4/lib-dynload/_ctypes.cpython-34m-x86_64-linux-gnu.so: undefined symbol: _PyTraceback_Add

看起来 Ubunut 已经推送了 Python 3.4 更新,该更新与现有的虚拟环境不兼容。我可以通过重新创建 virtualenv 来解决该问题。目前这不切实际,我只是将 virtualenv 的 python 替换为系统 python:

cd my-virtualenv
cp /usr/bin/python3.4 bin/python3.4

我不能说这是否是一个非常sane要做的事情,但这似乎对我来说确实有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取“django.core.exceptions.ImproperlyConfigured:需要 GEOS,但尚未检测到”。虽然安装了GEOS 的相关文章

随机推荐

  • Heroku + socket.io 广播上的多个测功机

    我似乎遇到一个问题 当我有超过 1 个 dyno 时 Heroku 上的 node js 应用程序中的 socket io 广播似乎不起作用 当我将其缩放到 1 时 它就完美地工作了 关于这件事有什么我需要知道的吗 也许有不同的方式向所有测
  • Android:支持所有设备的背景图像大小(以像素为单位)

    我正在创建一个将在所有 Android 设备上运行的应用程序 我想为我的应用程序创建 xhdpi 图形 我的应用程序是全屏的 我对创建图形感到困惑 谁能告诉我背景图像的最佳尺寸 以像素为单位 例如 xhdpi 720x1280 像素 高清
  • tf.initialize_all_variables() 和 tf.initialize_local_variables() 有什么区别?

    我正在查看此示例中的代码 完全连接的读者 py 我对第 147 行和第 148 行感到困惑 init op tf group tf initialize all variables tf initialize local variables
  • 如何进行 DOM 的中序遍历? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我发现了这个可笑的技术文档 http www w3 org TR DOM Level 2 Traversal Range traversal html Traversal Docum
  • 如何一致地逐行合并两个文件

    我有两个文件 文件1 txt 文件2 txt 这些文件只是示例 如何合并这两个文件 以创建文件 合并文件 txt如示例3 我现在正在写一个康壳公司 ksh 脚本 因此可以使用 KornShell 完成合并 AWK sed a Perl单线等
  • 单表继承还是类表继承?

    我正在阅读有关类表继承 CTI 的内容 发现我总体上更喜欢它 我的问题是 单表继承 STI 是否有任何特定的用例 您可以在 CTI 上使用它 I read http rhnh net 2010 07 02 3 reasons why you
  • 不必要地清空移出的 std::string

    libstdc 和 libc 都进行了移出std string对象为空 即使原始存储的字符串很短并且应用了短字符串优化 在我看来 这种排空使额外的和不必要的运行时开销 例如 这里是移动构造函数std basic string来自 libst
  • 如何在flutter中实现深度链接并重定向到应用商店?

    有没有一种方法可以在 flutter 中实现深度链接 这样 如果用户单击链接 那么他们会被重定向到应用程序的特定部分 假设应用程序已安装 但如果没有安装 他们会被重定向到相应的应用程序商店 安装应用程序 然后转到该特定部分 在寻找解决方案时
  • 什么情况下HTTP Referer会被截断

    我试图了解 HTTP 引用标头的行为 我注意到有时引用站点是完整的 完整的 URL 包括路径和查询字符串 但大多数情况下它仅包含域 例如 https www google com 代替 关于裁判何时满 何时截断有什么规则吗 截至 2020
  • emacs 中的 haskell repl

    你好 我从 haskell 开始 并尝试设置我的 emacs 来进行它的开发 I have haskell mod and ghc mod最新的emacs 24 3 1 GHC 是7 6 3 我创建了一个 haskell 文件 first
  • 如何在 C# 中使用 Linq 对 OrderedDictionary 进行排序(使用 .NET 3.5)?

    我需要对 OrderedDictionary System Collections Specialized 进行排序 我有这个代码 var od new System Collections Specialized OrderedDicti
  • jQuery:查找单词并每隔几秒更改一次

    如何使用 jQuery 每 2 3 秒更改一个单词 例如 我有这个 div span This is so span span awesome span div 我想要awesome也许可以使用淡出 淡入效果变得很酷 很棒 令人难以置信并继
  • 使用 XPath/应用 XSL 转换遍历任意 C# 对象图

    我一直在寻找一个允许我将任意 C 对象传递到 XSL 转换的组件 最简单的方法是使用 XmlSerializer 序列化对象图 但是 如果您有一个很大的对象图 这可能会导致性能问题 诸如循环引用 延迟加载 代理等问题可能会进一步使情况变得更
  • SQL 拆分函数和排序问题?

    我有以下内容Split功能 ALTER FUNCTION dbo Split String varchar 8000 Delimiter char 1 returns temptable TABLE items varchar 8000 a
  • 如何在运行时更改 SolidColorBrush 资源的颜色?

    如何在运行时更改另一个资源字典中使用的资源字典中的颜色 这是我的设置 颜色 xaml
  • 我应该直接使用 python 魔法方法吗?

    我听一个人说你不应该直接使用魔法方法 我认为在某些用例中我必须直接使用魔术方法 那么经验丰富的开发人员 我应该直接使用 python 魔法方法吗 我的目的是展示一些好处not直接使用魔法方法 1 可读性 使用内置函数 例如len 比相关的魔
  • pecl 在生产服务器上安装扩展的问题

    所以我在本地安装了pecl oauth模块 一切都运行良好 然后我尝试对生产服务器执行此操作 但遇到了一些问题 如果我说 sudo pecl install oauth 我会收到此错误 No releases available for p
  • 如何关闭 Spring 3 调试日志记录?

    我想关闭 Spring 3 1 的 log4j 日志记录 同时为我自己的代码保留调试状态 我尝试将这一行粘贴到我的 log4j properties 中 log4j category org springframework WARN 要得到
  • SignalR 2.0.0 beta2 IJsonSerializer 扩展性

    我想添加一些自定义序列化逻辑 以便转换后的 json 包含驼峰式大小写属性 出于这个原因 我尝试用我在此链接中找到的一个替换默认的 IJsonSerializer https github com SignalR SignalR issue
  • 获取“django.core.exceptions.ImproperlyConfigured:需要 GEOS,但尚未检测到”。虽然安装了GEOS

    我在跑姜戈 1 8 and Python 3 4 on Ubuntu 14 04 LTS 就在最近 我的 Django 应用程序报告了这一点GEOS不存在 GEOS已安装并且libgeos c so是它应该在的地方 usr lib 我的代码