【问题标题】:Cannot import Decimal module无法导入十进制模块
【发布时间】:2017-02-24 10:24:22
【问题描述】:

我正在尝试使用 Tkinter GUI 进行一些简单的十进制数学练习,但由于某种原因我无法导入十进制:

>>> from decimal import Decimal
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/decimal.py", line 139, in <module>
    import math as _math
  File "math.py", line 3, in <module>
    from decimal import Decimal
ImportError: cannot import name Decimal

我正在使用 Python 2.7.11 这让我觉得很愚蠢,因为这似乎是一件简单的事情。不支持小数还是我做错了?

【问题讨论】:

  • 我会建议重新安装 python,因为这是一个本地问题
  • 可以检查十进制模块并查看可用的名称import decimal; dir(decimal)
  • 您应该考虑使用this guide 来解决此类问题。

标签: python python-2.7 import decimal


【解决方案1】:

我遇到了 Python 3+ 无法导入 Decimal 的相同问题。 甚至一些外部库,例如pygal,也无法安装,因为系统无法访问Decimaldecimal 库。

我无意中在另一个网站上发现“您的系统中可能还有另一个 decimal.py 文件,在十进制库上出现阴影”。

我检查并发现我已将一个测试文件(在我学习 Python 时)命名为 decimal.py,在我将其重命名为 decimaltest.py 后,一切正常。

检查您是否做过同样的事情,或者您的系统中有任何类似的错误命名的文件。

【讨论】:

  • 提示下一个答案:您应该包含对您引用的页面的引用。
【解决方案2】:

您调用了文件math.py,这意味着它会覆盖内置的math 模块并破坏使用该模块的所有内容。选择一个不同的名字,问题就会消失。

【讨论】:

    猜你喜欢
    • 2012-11-06
    • 2012-11-02
    • 2020-06-15
    • 2017-11-11
    • 2021-07-27
    • 2019-06-13
    • 2020-12-15
    • 2020-08-28
    相关资源
    最近更新 更多