无法导入随机python

问题描述 投票:1回答:2

我在python中导入random和randint时遇到问题

这是我从“随机导入randint”时得到的错误

Traceback (most recent call last):
  File "/Users/Noah/Desktop/math.py", line 2, in <module>
    from random import randint
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 45, in <module>
    from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
  File "/Users/Noah/Desktop/math.py", line 2, in <module>
    from random import randint
ImportError: cannot import name randint

这是我在“导入随机”时得到的错误

Traceback (most recent call last):
  File "/Users/Noah/Desktop/math.py", line 2, in <module>
    import random
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 45, in <module>
    from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
TypeError: 'module' object is not callable

当我去/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7检查文件时,它有random.py random.pyc和random.pyo

python正在使用它作为路径

>>> print random.__file__
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.pyc

编辑:我不知道会发生什么

python macos python-2.7
2个回答
3
投票

追溯相对清晰:

  • 你试图从randint进口random;
  • 在python random模块中,它试图从math导入名称;
  • 不幸的是,你选择在工作目录math中命名一个你自己的模块,所以它首先发现;
  • 导入你的math时,它会尝试导入random ...现在你有一个循环导入...它失败了。

Conclusion:

在Python 2中,不要将您的模块命名为与核心python模块相同的...


0
投票

在同一文件夹中,您有一个名为math.py的文件。您应该删除此文件,这是它无法正常工作的原因。我的建议你可以删除该文件夹中的所有内容。

© www.soinside.com 2019 - 2024. All rights reserved.