Shapely no se instala correctamente

26

Estoy tratando de ejecutar Shapely en una nueva máquina, e intenté instalarlo desde la fuente, usar el instalador en su página web y usar pip install shapely. Cada referencia que intento hacer desde la biblioteca, excepto from shapely import *arroja el error WindowsError: [Error 126] The specified module could not be found. ¿Alguien ha tenido una experiencia similar al tratar de aprovechar Shapely y descubrir cómo hacer que funcione correctamente?

Error de Python arrojado:
WindowsError: [Error 126] The specified module could not be found

Entorno:
Windows 7 de 64 bits
Python 2.7

dkroy
fuente
Puede encontrar binarios de Windows en lfd.uci.edu/~gohlke/pythonlibs/#shapely
Sklavit el
La siguiente línea resolvió el problema en mi caso: conda install -c scitools / label / archive shapely
Vincenzo

Respuestas:

40

Estás haciendo tu instalación mal.

En lugar de

pip install shapely

vaya a https://pypi.org/project/Shapely/#built-distributions para ver que puede descargar las ruedas de Windows en https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

En el segundo enlace, haga clic en el archivo Shapely ‑ 1.6.4.post1 ‑ cp35 ‑ cp35m ‑ win_amd64.whl

Shapely-1.6.4 es la versión de Shapely, cp35-cp35m significa que la rueda es para Python 3.5, win_amd64 significa que es para Windows con arquitectura de 64 bits (puede elegir otra rueda dependiendo de su versión de Python y arquitectura de Windows)

Inicie la instalación con lo siguiente y estará bien después.

pip install Shapely1.6.4.post1cp35cp35mwin_amd64.whl

Solo como información, "pip install shapely" funciona cuando tienes instalado el compilador de C para compilar Geos dll y no es la forma en que funciona en Windows.

ThomasG77
fuente
3

Intenta usar Conda-Forge

conda config --add channels conda-forge 
conda install shapely
rafa.pereira
fuente
1

El error 126 indica que no se puede encontrar alguna DLL dependiente. Presumiblemente, esto se debe a que Shapely no puede encontrar GEOS.

Intente usar la instalación desde pypi: LINK .

Jay Laura
fuente