Import Error: can't import name gcd from fractions
Import Error: can't import name gcd from fractions
我正在尝试从名为 from fractions import gcd
的 fractions 模块中导入一个名为 gcd 的函数。出于某种原因,PyCharm 抛出 ImportError:
from fractions import gcd
ImportError: cannot import name 'gcd' from 'fractions'
我以前用过这个,我做错了什么?
你的回溯说 Python 3.9 和 the documentation 说
gcd is a function in math
Changed in version 3.9: The math.gcd() function is now used to
normalize the numerator and denominator. math.gcd() always return a
int type. Previously, the GCD type depended on numerator and
denominator.
这是旧 networkx 版本的问题。解决这个更新网络x:
conda install -c conda-forge networkx=2.5
fractions.gcd(a, b)
在 Python 3.9.
中已 移动到 math.gcd(a, b)
事实上它已经在 Python 3.5 中被弃用了(在括号中):
Python Version
fractions.gcd(a, b)
math.gcd(a, b)
math.gcd(*integers)
Python 3.0
X
Python 3.1
X
Python 3.2
X
Python 3.3
X
Python 3.4
X
Python 3.5
(X)
X
Python 3.6
(X)
X
Python 3.7
(X)
X
Python 3.8
(X)
X
Python 3.9
X
Python 3.10
X
Python 3.11
X
math.gcd
从3.9开始也可以带2个以上的参数,甚至0个或1个参数。
如果您始终希望至少使用可用的 networkx 版本,请执行以下操作:
conda install -y networkx">=2.5"
有时添加 -c conda-forge
很有用...
以下将安装最新版本的networkx:
conda install -c anaconda networkx
在Windows中:以管理员身份cmd
pip unistall networkx
pip install networkx
我正在尝试从名为 from fractions import gcd
的 fractions 模块中导入一个名为 gcd 的函数。出于某种原因,PyCharm 抛出 ImportError:
from fractions import gcd
ImportError: cannot import name 'gcd' from 'fractions'
我以前用过这个,我做错了什么?
你的回溯说 Python 3.9 和 the documentation 说 gcd is a function in math
Changed in version 3.9: The math.gcd() function is now used to normalize the numerator and denominator. math.gcd() always return a int type. Previously, the GCD type depended on numerator and denominator.
这是旧 networkx 版本的问题。解决这个更新网络x:
conda install -c conda-forge networkx=2.5
fractions.gcd(a, b)
在 Python 3.9.
math.gcd(a, b)
事实上它已经在 Python 3.5 中被弃用了(在括号中):
Python Version | fractions.gcd(a, b) |
math.gcd(a, b) |
math.gcd(*integers) |
---|---|---|---|
Python 3.0 | X | ||
Python 3.1 | X | ||
Python 3.2 | X | ||
Python 3.3 | X | ||
Python 3.4 | X | ||
Python 3.5 | (X) | X | |
Python 3.6 | (X) | X | |
Python 3.7 | (X) | X | |
Python 3.8 | (X) | X | |
Python 3.9 | X | ||
Python 3.10 | X | ||
Python 3.11 | X |
math.gcd
从3.9开始也可以带2个以上的参数,甚至0个或1个参数。
如果您始终希望至少使用可用的 networkx 版本,请执行以下操作:
conda install -y networkx">=2.5"
有时添加 -c conda-forge
很有用...
以下将安装最新版本的networkx:
conda install -c anaconda networkx
在Windows中:以管理员身份cmd
pip unistall networkx
pip install networkx