Python 在conda上运行OSMnx的问题

Python 在conda上运行OSMnx的问题,python,conda,osmnx,Python,Conda,Osmnx,我正在尝试让Python包OSMnx在我的Windows10机器上运行。我对python还是新手,所以很难掌握基本知识。 我已经按照这里的说明,成功地创建了一个新的conda环境,让它在其中运行。安装似乎进行得很顺利。 然而,一旦我尝试导入它,就会出现以下错误 >>> import osmnx as ox Traceback (most recent call last): File "<stdin>", line 1, in <mod

我正在尝试让Python包OSMnx在我的Windows10机器上运行。我对python还是新手,所以很难掌握基本知识。 我已经按照这里的说明,成功地创建了一个新的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)
有人能给我提建议吗?对不起,如果这是显而易见的,就像我说的,我对这一切都是新手。谢谢

该模块是Python标准库的一部分。正如链接文档所述,这里是:

自3.5版以来已弃用:改用
math.gcd()

由于函数
gcd
已从Python 3.9中的模块
fracts
中删除,因此问题似乎使用了Python 3.9,而不是Python 3.7.6作为问题注释,因为该Python版本

该错误由
networkx
引发。升级到最新版本的
networkx
有望避免此问题:

pip install -U networkx

事实上,避免
networkx
出现此错误的更改是:,并且已作为
networkx==2.4
networkx==2.5
networkx==2.5.1
的一部分发布,正如提交的GitHub页面上列出的标记所示。
networkx
中的当前行是:,即来自math import gcd的

我遇到了相同的问题。我使用conda forge安装了我的所有软件包(OSMnx-推荐安装)。如果我理解正确,Conda forge不支持包更新。相反,请删除networkx并重新安装,但请确保指定版本。您还需要重新安装osmnx

conda remove -c conda-forge networkx
conda install -c conda-forge networkx=2.5
conda install -c conda-forge osmnx

明亮的是的,这似乎正是我遇到的问题。我从conda info获取了Python版本,但你是对的,当我查询Python本身时,似乎我运行的是3.9.2版。我已使用conda更新networkx,现在导入osmnx时错误已消失。非常感谢你。学习如何处理Python中的所有包和环境并不容易。
conda remove -c conda-forge networkx
conda install -c conda-forge networkx=2.5
conda install -c conda-forge osmnx