簡體   English   中英

fiona ImportError:...庫未加載:@rpath/libpoppler.91.dylib

[英]fiona ImportError: ... Library not loaded: @rpath/libpoppler.91.dylib

我今天在我的 Mac (MacOs Monterey 12.2) 上重新安裝了 Anaconda (Anaconda 3, Python 3.9)。 我通過 conda - forge 安裝了geopandas ,並在我的基礎環境(3.9.12)的 Python 中成功導入了它。 然后我也通過conda-forge安裝了salem ,它在 Python 中的導入失敗,返回:

>>> import salem
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/salem/__init__.py", line 60, in <module>
    from salem.datasets import *
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/salem/datasets.py", line 32, in <module>
    from salem import utils, gis, wrftools, sio, check_crs
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/salem/utils.py", line 88, in <module>
    hash_cache_dir = _hash_cache_dir()
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/salem/utils.py", line 55, in _hash_cache_dir
    import geopandas
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/geopandas/__init__.py", line 7, in <module>
    from geopandas.io.file import _read_file as read_file  # noqa
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/geopandas/io/file.py", line 14, in <module>
    import fiona
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/fiona/__init__.py", line 85, in <module>
    with fiona._loading.add_gdal_dll_directories():
AttributeError: partially initialized module 'fiona' has no attribute '_loading' (most likely due to a circular import)

閱讀本文后,我嘗試在新控制台中自行導入fiona ,它給了我以下錯誤消息:

>>> import fiona
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/fiona/__init__.py", line 86, in <module>
    from fiona.collection import BytesCollection, Collection
  File "/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/fiona/collection.py", line 11, in <module>
    from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
ImportError: dlopen(/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/fiona/ogrext.cpython-39-darwin.so, 0x0002): Library not loaded: @rpath/libpoppler.91.dylib
  Referenced from: /Users/felixlangot/opt/anaconda3/lib/libgdal.30.dylib
  Reason: tried: '/Users/felixlangot/opt/anaconda3/lib/libpoppler.91.dylib' (no such file), '/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/fiona/../../../libpoppler.91.dylib' (no such file), '/Users/felixlangot/opt/anaconda3/lib/python3.9/site-packages/fiona/../../../libpoppler.91.dylib' (no such file), '/Users/felixlangot/opt/anaconda3/lib/libpoppler.91.dylib' (no such file), '/Users/felixlangot/opt/anaconda3/bin/../lib/libpoppler.91.dylib' (no such file), '/Users/felixlangot/opt/anaconda3/lib/libpoppler.91.dylib' (no such file), '/Users/felixlangot/opt/anaconda3/bin/../lib/libpoppler.91.dylib' (no such file), '/usr/local/lib/libpoppler.91.dylib' (no such file), '/usr/lib/libpoppler.91.dylib' (no such file)

我在管理 Conda 包方面沒有太多經驗。 當我運行conda list時,我得到以下信息(刪節):

conda list
# packages in environment at /Users/felixlangot/opt/anaconda3:
#
# Name                    Version                   Build  Channel
boost-cpp                 1.70.0               hd59e818_1    conda-forge
branca                    0.5.0              pyhd8ed1ab_0    conda-forge
cairo                     1.16.0            h0ab9d94_1001    conda-forge
cftime                    1.6.0            py39h86b5767_1    conda-forge
click-plugins             1.1.1                      py_0    conda-forge
cligj                     0.7.2              pyhd8ed1ab_1    conda-forge
conda                     4.12.0           py39h6e9494a_0    conda-forge
expat                     2.4.4                he49afe7_0    conda-forge
fiona                     1.8.21           py39haa9df5e_0    conda-forge
folium                    0.12.1.post1       pyhd8ed1ab_1    conda-forge
fontconfig                2.13.94              h10f422b_0    conda-forge
freexl                    1.0.6                h0d85af4_0    conda-forge
geopandas                 0.10.2             pyhd8ed1ab_1    conda-forge
geopandas-base            0.10.2             pyha770c72_1    conda-forge
geos                      3.8.0                h4a8c4bd_1    conda-forge
gettext                   0.19.8.1          h7937167_1005    conda-forge
glib                      2.68.4               he49afe7_0    conda-forge
glib-tools                2.68.4               he49afe7_0    conda-forge
hdf4                      4.2.13            hefd3b78_1005    conda-forge
json-c                    0.13.1            h575e443_1002    conda-forge
kealib                    1.4.14               h31dd65d_2    conda-forge
libdap4                   3.19.1            hae55d67_1000    conda-forge
libglib                   2.68.4               hd556434_0    conda-forge
libkml                    1.3.0             hed7d534_1010    conda-forge
libspatialite             4.3.0a            h9691d84_1033    conda-forge
libzip                    1.8.0                h8b0c345_1    conda-forge
mapclassify               2.4.3              pyhd8ed1ab_0    conda-forge
munch                     2.5.0                      py_0    conda-forge
pcre                      8.45                 he49afe7_0    conda-forge
pixman                    0.38.0            h01d97ff_1003    conda-forge
poppler                   0.89.0               hd735947_5    conda-forge
poppler-data              0.4.11               hd8ed1ab_0    conda-forge
proj                      6.2.1                h773a61f_0    conda-forge
python_abi                3.9                      2_cp39    conda-forge
salem                     0.3.7              pyhd8ed1ab_0    conda-forge
tiledb                    2.2.9                he9a4fb4_0    conda-forge
xyzservices               2022.4.0           pyhd8ed1ab_0    conda-forge

我只包含conda- forge 包,因為我的帖子太長而無法接受。 如果需要,我可以提供conda list的完整輸出。 盡管如此,包裹似乎都在那里。

任何想法如何解決這一問題? 謝謝您的幫助。

附加信息

我也試過

conda create -n test
conda activate test
conda install -c conda-forge fiona

並且安裝再次成功。 但是,在測試環境的 Python 中import fiona仍然會給出相同的錯誤消息。

相關問題

GitHub 上的這篇文章似乎處理了一個非常相似的問題: https ://github.com/conda-forge/geopandas-feedstock/issues/64。 但是,它是從 2019 年開始的,並且在問題解決之前就關閉了,所以它對我沒有幫助。

我將給出與 GitHub 問題以及 Conda Forge 在其文檔中相同的建議:不要混合頻道 通道混合是所有動態庫問題的最常見原因。

僅使用 Conda Forge 沒有問題

使用 YAML 從頭開始​​創建環境

索菲奧娜

so-fiona.yaml

name: so-fiona
channels:
  - conda-forge
dependencies:
  - python=3.9
  - fiona
  - salem

conda env create -f so-fiona.yaml ,在所有主要平台上都可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM