Python3.7.1: `10**3.5`: 无法将字符串转换为浮点数:3.5
Python3.7.1: `10**3.5`: could not convert string to float: 3.5
我真的很困惑为什么这会发生在我身上:
Python 3.7.1 (default, Nov 5 2018, 14:07:04)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: 10**3.5
ValueError: could not convert string to float: 3.5
有人能点一盏灯吗?如您所见,这是一个普通的输入——我认为是一个浮点数。
我试图消除 ipython 的复杂性,并在隔离模式下 运行,但仍然:
python3 -I -c "float('3.5')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ValueError: could not convert string to float: '3.5'
我的 python3.7 是不是坏了,我的理解是坏了,还是我在看什么?
我通过将显示的代码放入一个文件并进行十六进制转储来排除了编码问题。它是干净的 ascii,它应该是一个 0x2e
作为一个点,一个 0x0a
作为行结尾:
xxd testfile.py
00000000: 332e 350a 3.5.
python3 -I testfile.py
ValueError: could not convert string to float: 3.5
OS:Fedora 29 在具有 16 GB RAM 的 x86_64 上。
问题是由于 Fedora 似乎在没有我的干预的情况下进行了 glibc 更新。
对 GDB 进行的一项比本应进行的更广泛的调查显示,libc 功能被错误地调用。
所以我重新启动了。问题似乎解决了。
我真的很困惑为什么这会发生在我身上:
Python 3.7.1 (default, Nov 5 2018, 14:07:04)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: 10**3.5
ValueError: could not convert string to float: 3.5
有人能点一盏灯吗?如您所见,这是一个普通的输入——我认为是一个浮点数。
我试图消除 ipython 的复杂性,并在隔离模式下 运行,但仍然:
python3 -I -c "float('3.5')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ValueError: could not convert string to float: '3.5'
我的 python3.7 是不是坏了,我的理解是坏了,还是我在看什么?
我通过将显示的代码放入一个文件并进行十六进制转储来排除了编码问题。它是干净的 ascii,它应该是一个 0x2e
作为一个点,一个 0x0a
作为行结尾:
xxd testfile.py
00000000: 332e 350a 3.5.
python3 -I testfile.py
ValueError: could not convert string to float: 3.5
OS:Fedora 29 在具有 16 GB RAM 的 x86_64 上。
问题是由于 Fedora 似乎在没有我的干预的情况下进行了 glibc 更新。
对 GDB 进行的一项比本应进行的更广泛的调查显示,libc 功能被错误地调用。
所以我重新启动了。问题似乎解决了。