[英]OSError geos_c could not be found when Installing Shapely
我是使用python在地圖上制作/繪圖的新手,一直試圖按照這個博文來生成世界地圖(http://sciblogs.co.nz/seeing-data/2011/08/12/plotting-geographic-數據上-A-世界地圖與 - 蟒/)。 在這里遇到了一些問題:
安裝底圖(用於繪制地理投影數據的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
安裝Shapely,但發生以下錯誤[1]:
然后我進入了geos.py文件並將geos.dll的所有引用更改為geos_c.dll,如下所示: http ://osgeo-org.1560.n6.nabble.com/osgeo4w-258- 問題與-蟒蛇,身材勻稱的Python-2-7-2-td4336816.html
但是,會出現相同的錯誤[1]。
我正在使用Python 2.7.1和Mac 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
請享用
我知道這是一個非常古老的問題,但作為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.