1

我在 Mac OSX 上使用 Python3.4,我正在尝试导入。然而,我无法这样做。这是我的回溯:

    from shapely.geometry import Point
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geometry/__init__.py", line 4, in <module>
    from .base import CAP_STYLE, JOIN_STYLE
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geometry/base.py", line 9, in <module>
    from shapely.coords import CoordinateSequence
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/coords.py", line 8, in <module>
    from shapely.geos import lgeos
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geos.py", line 74, in <module>
    _lgeos = load_dll('geos_c', fallbacks=alt_paths)
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geos.py", line 53, in load_dll
    libname, fallbacks or []))
OSError: Could not find library geos_c or load any of its variants ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS', '/opt/local/lib/libgeos_c.dylib']

我想我可能必须设置 GEOS_LIBRARY_PATH,但我不确定将其设置为什么。

这是/Users/tc9/homebrew/Cellar/geos/3.4.2/lib我 brew install geos 之后的 ls:

libgeos-3.4.2.dylib
libgeos.dylib
libgeos_c.a
libgeos.a
libgeos_c.1.dylib
libgeos_c.dylib

我编辑并采购了我的~/.profile,但这并没有解决问题:

GEOS_LIBRARY_PATH="/Users/tc9/homebrew/Cellar/geos/3.4.2"
export GEOS_LIBRARY_PATH

任何人都可以为我指出一个解决方案的方向,以使导入变得匀称吗?谢谢。

4

1 回答 1

3

您已将 homebrew 设置为在您的主目录(嗯,homebrew您的主目录中的子目录)中安装东西。没关系,但你必须告诉你的系统在那里找到已安装的库。/opt/local/lib通常会自动找到,但/Users/tc9/homebrew/lib不会。

因此,不要设置GEOS_LIBRARY_PATH,而是尝试DYLD_LIBRARY_PATH如下设置:

export DYLD_LIBRARY_PATH=/Users/tc9/homebrew/lib

您可以先在命令行上执行此操作,如果有效,请将其放入您的配置文件中。

请注意,我没有使用Cellar子目录;您应该将其视为自制软件的存档,而不是实际使用的文件。为此,请使用/home/tc9/homebrew(附加 等)libbin因此,例如,您PATH也不应该包含该Cellar目录。

于 2014-09-10T11:20:35.320 回答