在使用python中的使用 import shapely 时不会报错,但是在使用 from shapely.geos import lgeos 会报错,报错的详细信息如下图:
Traceback (most recent call last):
<module>
from shapely.coords import CoordinateSequence
File "C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\shapely\coords.py", line 8, in <module>
from shapely.geos import lgeos
File "C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\shapely\geos.py", line 145, in <module>
_lgeos = CDLL(os.path.join(sys.prefix, 'Library', 'bin', 'geos_c.dll'))
File "C:\ProgramData\Anaconda3\lib\ctypes\__init__.py", line 356, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 找不到指定的模块。
解决方法1增加语句os.chdir('C:\ProgramData\Anaconda3\Lib\site-packages\shapely\DLLs')
解决方法2
卸载原来安装的shapely包,然后 在https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely这里下载对应版本的whl文件安装,在个shapely的包里面包含了geos_c.dll,安装这个就可以解决该问题。
但是https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely 如果下载不了,可以在csdn上下载