【问题标题】:Tweepy: ImportError: cannot import name RandomTweepy:ImportError:无法导入名称随机
【发布时间】:2014-11-03 05:58:29
【问题描述】:

我正在使用 Tweepy 向 Twitter 发送一些消息。我从 API 中得到了很长的回溯。回溯定位于:

ImportError: cannot import name Random

我用 Pip 安装了最新版的 Tweepy:

Name: tweepy
Version: 2.3.0
Location: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Requires:

当我打电话时

import tweepy

我得到了这个回溯:

Traceback (most recent call last):
  File "/Users/dromard/Projects/Drop Playlist/drop.py", line 4, in <module>
    import tweepy
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tweepy/__init__.py", line 14, in <module>
    from tweepy.api import API
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tweepy/api.py", line 8, in <module>
    from tweepy.binder import bind_api
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tweepy/binder.py", line 5, in <module>
    import httplib
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 79, in <module>
    import mimetools
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mimetools.py", line 6, in <module>
    import tempfile
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 35, in <module>
    from random import Random as _Random
ImportError: cannot import name Random

Process finished with exit code 1

我正在使用 PyCharm 并确认站点包和 Python 路径在设置中是正确的。我在控制台中手动检查了路径是否正确,并且没有重复的位置。

我没有对 Tweepy 进行任何更改。我让 Pip 按原样安装它。权限看起来正确:

-rw-r--r--   1 root  wheel

如果我在控制台中检查 Python:
- 我得到相同的回溯
- 当我运行单个导入时,它们都执行没有错误

random 调用中一切都失败了。我认为 random 是 Python 核心包的一部分,而不是 Tweepy 的一部分。

我将此脚本交给了一位同事,然后他使用 Pip 安装了 tweepy 并点击了相同的回溯。让我觉得 Pip 可能有所贡献。

我对 Python 比较陌生(一般是编程)。我查看了其他“导入错误”文章,但没有发现这个特定问题。任何帮助表示赞赏。

【问题讨论】:

  • 如果您在终端的 Python 提示符下运行 from random import Random as _Random 会发生什么?
  • @MattDMo 我明白了&gt;&gt;&gt; import random 9 &gt;&gt;&gt; from random import Random as _Random Traceback (most recent call last): File "&lt;stdin&gt;", line 1, in &lt;module&gt; ImportError: cannot import name Random &gt;&gt;&gt;
  • from Crypto import Random -> ImportError: cannot import name Random 的可能重复项。请参阅@phihag 关于重复文件名的回答和讨论。

标签: python python-2.7 tweepy


【解决方案1】:

我想通了。 在试验随机数生成脚本的过程中,我创建了一个名为“random.py”的 python 文件。我的“导入随机”调用正在获取该文件,该文件缺少随机库。它本质上与正确的“随机”产生了冲突。

【讨论】:

  • 因为当我给他项目文件夹时,那个旧的“random.py”文件就在那里。
  • 如果之后出现“bad magic number in ...”,则表示您的项目中有一个名为“random.pyc”的文件。
【解决方案2】:

确保删除random.py 文件或用其他名称覆盖它,然后重新检查“从随机导入随机”。

【讨论】:

    【解决方案3】:

    由于经验不足,我无法发表评论。 我在目录中也有一个 xyz.py,调用同名模块(导入 xyz)会导致此错误。

    确保不要保存任何具有同名 python 模块的文件 xyz.py。 这是我从新手实验中发现的。

    这也发生在 python 3.8 上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 2018-01-01
      • 1970-01-01
      • 2017-04-11
      • 2020-02-05
      • 2011-07-11
      • 2018-06-11
      相关资源
      最近更新 更多