【问题标题】:OSError: Could not find lib geos_c.dll or load any of its variants ['..\Library\\lib\\geos_c.dll']OSError:找不到 lib geos_c.dll 或加载其任何变体 ['..\Library\\lib\\geos_c.dll']
【发布时间】:2020-04-20 17:38:27
【问题描述】:

我在 python 中遇到了 geos lib 的问题。我在 Windows 10 上使用带有 Python 3.6 的 anaconda venv。在一台计算机上,它正在运行。所以我导出了 venv 并将 venv 安装在另一台计算机上(有效)。但是在另一台计算机上,相同的代码没有运行。我正在使用 geos 3.8.0shapely 1.6.4。 当我运行代码时,我收到以下错误:

*File "..\lib\site-packages\shapely\coords.py", line 8, in <module>
    from shapely.geos import lgeos
  File "..\lib\site-packages\shapely\geos.py", line 130, in <module>
    os.path.join(sys.prefix, "Library", "lib", "geos_c.dll"),
  File "..\lib\site-packages\shapely\geos.py", line 56, in load_dll
    libname, fallbacks or []))
OSError: Could not find lib geos_c.dll or load any of its variants ['..\\Library\\lib\\geos_c.dll']*

我已经试过了:

  • 使用 conda-forge 重新安装软件包
  • 使用其他版本,例如:geos 3.7.1 和 shapely 1.7.0
  • 将 geos_c.dll 从 ..\Library\bin(实际存在的位置)复制到 \Library\lib\
  • 将 geos.py 中的 os.path.join 更改为 os.path.join(sys.prefix, "Library", "bin", "geos_c.dll")

有谁知道,如何解决这个问题,以便我可以在两台计算机上运行代码?

提前致谢!

【问题讨论】:

标签: anaconda python-3.6 shapely geos


【解决方案1】:

我摆脱了在 anaconda 的基本环境中安装包 geos 和 shapely 的问题。也许它可以帮助别人

【讨论】:

  • 我认为如果您将其作为答案发布在我在评论中链接的重复问题下会更好。那时人们会更容易找到这些信息。如果你这样做了,你也可以删除这个问题。
【解决方案2】:

我尝试使用 conda-forge,但没有成功。但是,它在安装 Node.js 后在 anaconda 提示符下工作

【讨论】:

    【解决方案3】:

    确保您已安装 VC_redist_x64.exe(或您的等效程序)。显然 geos_c.dll 用户使用 C+ 元素。

    【讨论】:

      猜你喜欢
      • 2019-11-10
      • 1970-01-01
      • 2021-02-25
      • 2021-12-14
      • 1970-01-01
      • 2013-11-13
      • 2023-01-18
      • 2022-11-14
      • 2020-12-05
      相关资源
      最近更新 更多