Python 在conda上运行OSMnx的问题
我正在尝试让Python包OSMnx在我的Windows10机器上运行。我对python还是新手,所以很难掌握基本知识。 我已经按照这里的说明,成功地创建了一个新的conda环境,让它在其中运行。安装似乎进行得很顺利。 然而,一旦我尝试导入它,就会出现以下错误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
>>> 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