我正在尝试使用pip在linux中安装osmnx库,我得到下面的错误。
# pip3 install osmnx
Collecting osmnx
Using cached osmnx-0.16.1-py2.py3-none-any.whl (87 kB)
Requirement already satisfied: pyproj>=2.6 in /usr/local/lib64/python3.6/site-packages (from osmnx) (2.6.1.post1)
Collecting Rtree>=0.9
Using cached Rtree-0.9.4.tar.gz (62 kB)
ERROR: Command errored out with exit status 1:
command: /bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_h54goe2/rtree/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_h54goe2/rtree/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 /tmp/pip-pip-egg-info-k2qkrb5o
cwd: /tmp/pip-install-_h54goe2/rtree/
Complete output (15 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-_h54goe2/rtree/setup.py", line 3, in <module>
import rtree
File "/tmp/pip-install-_h54goe2/rtree/rtree/__init__.py", line 1, in <module>
from .index import Rtree
File "/tmp/pip-install-_h54goe2/rtree/rtree/index.py", line 6, in <module>
from . import core
File "/tmp/pip-install-_h54goe2/rtree/rtree/core.py", line 143, in <module>
rt.Error_GetLastErrorNum.restype = ctypes.c_int
File "/usr/lib64/python3.6/ctypes/__init__.py", line 356, in __getattr__
func = self.__getitem__(name)
File "/usr/lib64/python3.6/ctypes/__init__.py", line 361, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /bin/python3: undefined symbol: Error_GetLastErrorNum
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.在搜索之后,正如几篇文章中所建议的那样,我已经更新了pip和setuptools,也安装了shapely,但我得到了相同的错误。我正在尝试通过pip而不是conda进行安装。有没有人可以建议如何解决这个问题并安装库。
发布于 2020-10-26 17:46:12
下面是我克服这个错误所遵循的过程。尝试升级你的setuptools。
pip install --upgrade setuptools,如果仍然面临同样的问题,请检查是否安装了osmnx的所有依赖项。在我的例子中,我必须通过pip安装rtree,这也依赖于我通过yum install spatialindex安装的spatialindex。然后是pip install osmnx,它工作得很好。
请注意,ubuntu和debian中的spatialindex是libspatialindex-dev。
也可以按照@gboeing在他的答案here中提供的说明进行操作。
https://stackoverflow.com/questions/64522046
复制相似问题