由于 macOS 上缺少 libtiff.5.dylib,导致 Geopandas 出现导入错误

问题描述 投票:0回答:1

我在 macOS 系统上的 Conda 环境 (

geodata_env
) 中导入 Geopandas 时遇到问题。错误消息表明缺少
libtiff.5.dylib
库:

ImportError: dlopen(/Users/lf/miniconda3/envs/geodata_env/lib/python3.12/site-packages/pyproj/_network.cpython-312-darwin.so, 0x0002): Library not loaded: @rpath/libtiff.5.dylib

经过调查,我发现

libtiff.5.dylib
仅存在于我的Conda基本目录(
/Users/lf/miniconda3/lib/
)中,而不存在于
geodata_env
目录(
/Users/lf/miniconda3/envs/geodata_env/lib
)中。但是,
geodata_env
目录包含
libtiff.6.dylib
,以及其他相关的
libtiff
文件。

有趣的是,在基目录中,

libtiff.5.dylib
是指向
libtiff.6.dylib
的符号链接。这表明
libtiff.6.dylib
可能会向后兼容
libtiff.5.dylib

  1. 尝试使用 Conda 在

    libtiff
    环境中显式安装
    geodata_env
    版本 5,但不可用。

  2. 由于

    libtiff.5.dylib
    是基础环境中
    libtiff.6.dylib
    的符号链接,我考虑在
    geodata_env
    中创建类似的符号链接,这使我能够毫无错误地导入 Geopandas!

问题:

  • 在我的
    libtiff.6.dylib
    中创建从
    libtiff.5.dylib
    geodata_env
    的符号链接是否是解决此问题的可行解决方案?
  • 是否存在潜在风险或更好的方法来解决 macOS 上 Geopandas 缺少库的问题?
importerror geopandas
1个回答
0
投票

我有完全相同的问题。这是一个依赖问题,不是由 Geopandas 引起的。

所以基本上,去

cd /opt/anaconda3/envs/you_env/lib/python3.9/site-packages/PIL/../..
/../

那就做吧,

cp libtiff.6.dylib libtiff.5.dylib
cp libtiffxx.6.dylib libtiffxx.5.dylib

解决了我的问题。从那以后我再也没有遇到过问题。

参考:
https://github.com/conda-forge/libtiff-feedstock/issues/53
https://github.com/eclipse-sumo/sumo/issues/13147

© www.soinside.com 2019 - 2024. All rights reserved.