[英]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.