python - 在 conda 上运行 OSMnx 的问题

标签 python conda osmnx

我正在尝试让 Python 包 OSMnx 在我的 Windows10 机器上运行。我对 python 还是个新手,所以在基础知识方面很挣扎。
我已按照此处的说明操作 https://osmnx.readthedocs.io/en/stable/并成功创建了一个新的 conda 环境以供其运行。安装似乎进行得很顺利。
但是,一旦我尝试导入它,就会出现以下错误

>>> import osmnx as ox
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\osmnx\__init__.py", line 3, in <module>
    from ._api import *
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\osmnx\_api.py", line 4, in <module>
    from .distance import get_nearest_edge
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\osmnx\distance.py", line 5, in <module>
    import networkx as nx
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\networkx\__init__.py", line 114, in <module>
    import networkx.generators
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\networkx\generators\__init__.py", line 14, in <module>
    from networkx.generators.intersection import *
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\networkx\generators\intersection.py", line 13, in <module>
    from networkx.algorithms import bipartite
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\networkx\algorithms\__init__.py", line 16, in <module>
    from networkx.algorithms.dag import *
  File "C:\Users\User\.conda\envs\ox\lib\site-packages\networkx\algorithms\dag.py", line 23, in <module>
    from fractions import gcd
ImportError: cannot import name 'gcd' from 'fractions' (C:\Users\User\.conda\envs\ox\lib\fractions.py)
我在跑
   conda version : 4.8.2
   conda-build version : 3.18.11
   python version : 3.7.6.final.0
有人能给我建议吗?对不起,如果这很明显,正如我所说,我对这一切都很陌生。谢谢

最佳答案

模块 fractions 是 Python 标准库的一部分。那里used to be a function gcd ,正如链接的文档所说,它是:

Deprecated since version 3.5: Use math.gcd() instead.


自函数gcd已从模块中移除 fractions在 Python 3.9 中,问题似乎使用 Python 3.9,而不是 Python 3.7.6 作为问题注释,因为 Python 版本 still had fractions.gcd .
错误由 networkx 引发.升级到最新版本networkx预计可以避免这个问题:
pip install -U networkx
确实,从 networkx 避免此错误的更改是:https://github.com/networkx/networkx/commit/b007158f3bfbcf77c52e4b39a81061914788ddf9#diff-21e03bb1d46583650bcad6e960f2ab8a5397395c986942b59314033e963dd3fcL23 ,并已作为 networkx==2.4 的一部分发布, networkx==2.5 , 和 networkx==2.5.1 ,正如提交的 GitHub 页面上列出的标签所告知的那样。当前行在 networkx是:https://github.com/networkx/networkx/blob/d70b314b37168f0ea7c5b0d7f9ff61d73232747b/networkx/algorithms/dag.py#L9 ,即 from math import gcd .

关于python - 在 conda 上运行 OSMnx 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67297792/

相关文章:

python - 删除几乎平行的 NetworkX 最短路径

python - 如何删除文本文件的第一行?

python - 使用 Flask (Python) 在谷歌数据存储中存储图像

python - OpenCV:如何规范化面部(去除阴影)?

python - 如何更改现有conda虚拟环境的Python版本?

python-3.x - 无法安装osmnx

python - 如何提取字典中除列表之外的所有内容

path - conda :激活环境后会发生什么?

python - 在python中导入osgeo库失败

python - OSMNX - 尝试在控制台中绘制图表但没有任何运气