簡體   English   中英

安裝Shapely時找不到OSError geos_c

[英]OSError geos_c could not be found when Installing Shapely

我是使用python在地圖上制作/繪圖的新手,一直試圖按照這個博文來生成世界地圖(http://sciblogs.co.nz/seeing-data/2011/08/12/plotting-geographic-數據上-A-世界地圖與 - 蟒/)。 在這里遇到了一些問題:

  1. 安裝底圖(用於繪制地理投影數據的Matplotlib擴展)。

     from mpl_toolkits.basemap import Basemap Traceback (most recent call last): File "geos_demo.py", line 1, in <module> from mpl_toolkits.basemap import Basemap ImportError: No module named mpl_toolkits.basemap 
  2. 安裝Shapely,但發生以下錯誤[1]:

  3. 然后我進入了geos.py文件並將geos.dll的所有引用更改為geos_c.dll,如下所示: http ://osgeo-org.1560.n6.nabble.com/osgeo4w-258- 問題與-蟒蛇,身材勻稱的Python-2-7-2-td4336816.html

  4. 但是,會出現相同的錯誤[1]。

我正在使用Python 2.7.1和M​​ac OS 10.7.4。 如果我能提供更多信息,請告訴我,非常感謝社區的任何指導! 謝謝!

[1]

    from shapely.geometry import Point
    Traceback (most recent call last): File "<stdin>", line 1, in <module>
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/__init__.py", line 4, in <module>
    from geo import box, shape, asShape, mapping
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/geo.py", line 5, in <module>
    from point import Point, asPoint
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/point.py", line 7, in <module>
    from shapely.coords import required
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/coords.py", line 8, in <module>
    from shapely.geos import lgeos
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 59, in <module>
    _lgeos = load_dll('geos_c', fallbacks=alt_paths)
     File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 44, 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']

對於問題2-4,您必須在系統上安裝GEOS。 如果您有自制軟件,您可以執行以下操作:

brew install geos

如果你沒有自制軟件,請在這里安裝自制軟件: http//mxcl.github.com/homebrew/

在Ubuntu上,要安裝GEOS ,這對我GEOS

$ sudo apt-get install libgeos-dev

使用OS X 10.11(El Capitan)和Boxen,我已經這樣做了:

brew install geos
sudo mkdir /opt/local
sudo ln -s /opt/boxen/homebrew/lib /opt/local/lib

讓Shapely在其願意尋找的一個位置找到libgeos_c.dylib

問題似乎是您實際上沒有安裝所需的模塊。

像Python的代碼行

from mpl_toolkits.basemap import Basemap

import語句是否告訴您的腳本使用您已經安裝的模塊(或其他Python代碼)。

對於提到的每個包(NumPy,Matplotlib,Basemap),您必須弄清楚如何在系統上安裝它們。 在NumPy和Matplotlib的情況下,這可能很復雜,因為它們需要編譯。 例如, 這些是Numpy指令

如果您只是想嘗試播放該博客文章中的說明,那么您可以使用像PythonAnywhere這樣的服務,它已經安裝了numpy,matplotlib和basemap (免責聲明,我在PythonAnywhere上工作......)

在Windows 10上,python 3.6.5 64bit

  • 安裝osgeo4w
  • 將已安裝的文件夾添加到PATH,例如C:\\ OSGeo4W64 \\ bin(必須包含geos_c.dll)
  • 重啟命令行

請享用

我知道這是一個非常古老的問題,但作為https://stackoverflow.com/a/12683010/597743的替代方案,您可以使用MacPorts來安裝地理庫:

port install geos

此處介紹了MacPorts的安裝步驟: https//www.macports.org/install.php

暫無
暫無

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

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