我试图遵循这个基本示例here。
代码
import twitter
# XXX: Go to http://dev.twitter.com/apps/new to create an app and get values
# for these credentials, which you'll need to provide in place of these
# empty string values that are defined as placeholders.
# See https://dev.twitter.com/docs/auth/oauth for more information
# on Twitter's OAuth implementation.
CONSUMER_KEY = ''
CONSUMER_SECRET =''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET,
CONSUMER_KEY, CONSUMER_SECRET)
twitter_api = twitter.Twitter(auth=auth)
# Nothing to see by displaying twitter_api except that it's now a
# defined variable
print twitter_api
但运行该示例会引发以下错误。
vagrant@lucid32:~$ python twitter.py
Traceback (most recent call last):
File "twitter.py", line 1, in <module>
import twitter
File "/home/vagrant/twitter.py", line 14, in <module>
auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET,
AttributeError: 'module' object has no attribute 'oauth'
任何帮助都将不胜感激。
答案 0 :(得分:4)
不要将脚本命名为与导入的模块相同,因为当python首先在脚本目录中导入它时,导入twitter.py
而不是twitter
模块。
将文件重命名为与twitter.py
不同的文件后,请不要忘记删除已编译的代码(twitter.pyc
和tweepy.pyc
)。
答案 1 :(得分:3)
您没有提到您正在使用的操作系统。是Ubuntu还是Debian?
如果是这样,apt-get install python-twitter
会根据您的需要安装错误的软件包。像这样安装正确的包:
sudo apt-get purge python-twitter
sudo pip install twitter
此外,您应该更改程序的名称,使其与您导入的模块不同。
答案 2 :(得分:1)
我有类似的问题。我安装了python-twitter
个包。我一直得到同样的错误。删除python-twitter
之类的内容:
(!pip uninstall python-twitter)
在Ipython
控制台中并安装twitter包现在可以正常工作。
我希望有所帮助。
答案 3 :(得分:0)
尝试tweepy,我发现它在处理Twitter身份验证方面做得更好
import tweepy
CONSUMER_KEY = ''
CONSUMER_SECRET =''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
api = tweepy.API(auth)
答案 4 :(得分:0)
只是为了证明Rob提供的解决方案,对我来说效果很好。显然,问题是它安装了apt-get而不是pip,这可能会给出正确的库版本。
sudo apt-get purge python-twitter
sudo pip install twitter
答案 5 :(得分:0)
如果您使用的是oauth2,则可能需要导入为oauth,以便python识别该库。几天前我遇到了同样的问题,这就是简单的解决方法。
答案 6 :(得分:0)
而不是twitter.oauth.Oauth,请使用twitter.Api
import twitter
api = twitter.Api(consumer_key='consumer_key',
consumer_secret='consumer_secret',
access_token_key='access_token',
access_token_secret='access_token_secret')
答案 7 :(得分:0)
我遇到了同样的问题,这就是帮助我的原因。 我首先找到了所有与twitter相关的软件包,在我的例子中是 tweepy 和 twitter 。我卸载了它们并重新安装了twitter。到现在为止还挺好。它对我有用。
帮助( “模块”)
主要问题不在于OAuth,而在于安装了多个Twitter软件包。