web-dev-qa-db-ja.com

api = Twitter.Api()AttributeError: 'モジュール'オブジェクトに属性がありません 'Api

Twitter Apiを使い始めるために、簡単なメンショングラバーを作成しようとしています。ただし、Apiを初期化するときにいくつかの問題が発生しました。 archlinuxでpython2を実行するeasy_installを介してTwitterをインストールし、ソースからビルドして、pipを介してインストールしました。これはどれも機能していないようです。

_zergling :: ~/dev/kritter » python2
Python 2.7.2 (default, Jan 31 2012, 13:26:35) 
[GCC 4.6.2 20120120 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Twitter
>>> api = Twitter.Api()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Api'
_

ただし、Twitterのpydocはあります。何が間違っているのかわかりません。私はあなたが助けることができることを願っています

PDATE:Twitter.api()の代わりにTwitter.Api()を使用しようとしましたが、次のエラーが発生しました:トレースバック(最後の最後の呼び出し):ファイル "main.py"、line 8、api = Twitter.api()TypeError: 'モジュール'オブジェクトは呼び出せません

追加情報:

_>>> print dir(Twitter)
['NoAuth', 'OAuth', 'Twitter', 'TwitterError', 'TwitterHTTPError', 'TwitterResponse',  'TwitterStream', 'UserPassAuth', '__all__', '__builtins__', '__doc__', '__file__',  '__name__', '__package__', '__path__', 'api', 'auth', 'oauth', 'read_token_file', 'stream', 'Twitter_globals', 'write_token_file']
>>> print Twitter.__path__
['/usr/lib/python2.7/site-packages/Twitter-1.7.2-py2.7.Egg/Twitter']
_
16
Momo

1つのTwitterパッケージをインストールし、別のドキュメントを確認したと思います。つまり、python-1.7.2は https://github.com/sixohsix/Twitter のプロジェクトですが、 http://code.google.com/p/python-Twitter / ドキュメント。両方の間に一致はありません:)

したがって、インストールしたものについては、ソースコードを確認すると、 ストリームの例 が利用可能であり、pydocには他のさまざまな例があります。

  from Twitter import Twitter
  # ...
  Twitter = Twitter(
      auth=OAuth(token, token_key, con_secret, con_secret_key)))

  # Get the public timeline
  Twitter.statuses.public_timeline()
19
tito

私は次のサイトでこの問題の解決策を見つけました

[ http://himanen.info/solved-attributeerror-module-object-has-no-attribute-api/] [1]

2つのPythonライブラリが競合しています:Twitterライブラリとpython-Twitterライブラリ。解決策は非常に簡単でした:

pip uninstall Twitter

次に、python-Twitterが確実にインストールされていることを確認しました。

pip install python-Twitter

ありがとうひまねんそれは私のために働いた

13
ayu for u

pythonファイルはTwitter.pyと呼ばれていたため、同じエラーが発生しました。次の内容が含まれていました。

import Twitter
api = Twitter.Api (consumer_key=...

ファイルの名前をtwitterdata.pyに変更し、Twitter.pycを削除すると、機能しました。

9
Paul

おそらくチェック twythonrequests を使用して必要なすべてのOauth実装を行いました。

1
Kracekumar

Python-Twitterラッパーを使用している場合。インストールプロセス中に、Twitter.py.Eggという名前のeggfileが作成されている必要があります。これは、help.py.Eggなどの他の名前に変更してください。

1