0

Pydroid 是一个很好的应用程序,适合初学者和其他人在 android 上运行 python。我可以毫无问题地安装许多有用的库,但我不明白为什么无法安装一些库,如GDALShapelyPyproj

安装错误:

ERROR: Command errored out with exit status 1:
command: /data/user/0/ru.iiec.pydroid3/files/arm-linux-androideabi/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/data/data/ru.iiec.pydroid3/cache/pip-install-1glqlnnp/shapely/setup.py'"'"'; __file__='"'"'/data/data/ru.iiec.pydroid3/cache/pip-install-1glqlnnp/shapely/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /data/data/ru.iiec.pydroid3/cache/pip-install-1glqlnnp/shapely/pip-egg-info
             cwd: /data/data/ru.iiec.pydroid3/cache/pip-install-1glqlnnp/shapely/
        Complete output (11 lines):
        Failed `CDLL(libgeos_c.so.1)`
        Failed `CDLL(libgeos_c.so)`
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/data/data/ru.iiec.pydroid3/cache/pip-install-1glqlnnp/shapely/setup.py", line 80, in <module>
            from shapely._buildcfg import geos_version_string, geos_version, \
          File "/data/data/ru.iiec.pydroid3/cache/pip-install-1glqlnnp/shapely/shapely/_buildcfg.py", line 167, in <module>
            fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
          File "/data/data/ru.iiec.pydroid3/cache/pip-install-1glqlnnp/shapely/shapely/_buildcfg.py", line 161, in load_dll
            libname, fallbacks or []))
        OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so']
        ----------------------------------------
    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
    /storage/emulated/0 $

任何帮助,将不胜感激。我正在运行 Android Nougat 7.0 版和 Pydroid 3 (python3)。

4

1 回答 1

1

您提到的三个python模块都依赖于C库,即它们不是纯python,而是为较低级别的函数提供接口。具体来说,上面提到的三个 python 模块需要这些库:

  1. GDALGDAL库的工具集
  2. 匀称,正如您的错误消息所暗示的,取决于Geos
  3. pyprojproj的接口

因此,您需要自己为您的系统下载和编译这些库(或查找预编译的二进制文件,但这听起来不太适合您的设置)。只有这样,您才能安装和使用相应的 python 模块。

于 2019-11-20T12:38:33.433 回答