Tweepy:导入错误:无法导入名称 Random
我正在使用Tweepy这个工具向Twitter发送一些消息。结果我收到了一个很长的错误信息,最后停在了:
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还比较陌生(编程整体上也不太熟悉)。我查阅了其他关于“导入错误”的文章,但没有找到这个具体的问题。任何帮助都非常感谢。
3 个回答
因为经验不足,我无法评论。
我在一个文件夹里有一个叫 xyz.py 的文件,而当我尝试导入同名的模块(import xyz)时,就出现了错误。
请确保你没有保存任何名为 xyz.py 的文件,同时这个名字也有对应的 Python 模块。
这是我作为新手实验时发现的。
这种情况在 Python 3.8 也会发生。
确保你删除 random.py
文件,或者用其他名字覆盖它,然后再检查一下 "from random import random" 这行代码。
我搞明白了。 我在尝试写一个生成随机数的脚本时,创建了一个叫做'random.py'的Python文件。结果我在代码里用到'import random'的时候,它其实是导入了我自己写的这个文件,而不是Python自带的随机数库。这样就造成了冲突,因为我自己的文件里没有这个库的内容。