2012-02-15 15 views
12

私はtwitter APIを使い始めるために簡単な言葉を書こうとしています。どのように私はApiを初期化するときいくつかの困難を経験してきた。 archlinuxでpython2を実行するeasy_installでtwitterをインストールし、ソースからビルドし、pip経由でインストールしました。これのどれも動作していないようです。api = twitter.Api()AttributeError: 'モジュール'オブジェクトに属性がありません 'Api

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はありますか?私は何をしているのか分かりません。私はあなたが役立つことを願って

UPDATE: 私が代わりにtwitter.Api()twitter.api()を使用してみましたし、次のエラーました: APIでは、 ファイル「main.py」、8行目: トレースバック(最後の最新のコール) = 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'] 
+1

"print dir(twitter)"と "print twitter .__ path__"は、モジュールから利用可能なメソッドとその場所を確認できます(正しいものを使用していることを確認してください)。 – tito

+0

@tito :これから次のことを得た。 twitter.api()を使って私は別のエラーが発生します: 'api = twitter。api(); TypeError: 'module'オブジェクトは呼び出し可能ではありません。 – Momo

+0

dir()内にApiまたはapi class/funcがないことがわかります – tito

答えて

16

私はあなたがOをインストールしたと思いますne twitterパッケージ、そして別のドキュメントを見てください。つまり、http://code.google.com/p/python-twitter/のドキュメントを見ている間、python-1.7.2はhttps://github.com/sixohsix/twitterのプロジェクトです。双方の間で一致:)

だから、あなたがインストールしたいずれかの、あなたがソースコードをチェックすると、stream exampleが入手可能であり、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() 
+0

ありがとう、これは完全に助けました。私はちょうどeasy_installが私のライブを簡単にすると思った。 – Momo

+0

何が起こったのか理解するために、[ipython](http://ipython.org/)を使用している場合は、オブジェクト "twitter"を印刷して、どこから来ているのかを見ることができます。 .eggファイルでpython_twitterの場合は、ここで説明している簡単な手順に従わなければならないかもしれません(easy_installを使用してpython_twitterをインストールしました): http://stackoverflow.com/questions/1231688/how-do -i-remove-packages-installed-with pythons-easy-install –

+5

'pip install twitter'と一緒に' pip install python-twitter'を実行していたはずです – thameera

1

おそらくtwythonを確認していません、私はrequestsを使って必要なOuathをすべて実装しました。

1

python-twitterラッパーを使用している場合。インストールプロセス中にtwitter.py.eggという名前のeggfileを作成しておかなければなりません。それはhelp.py.eggのような別の名前で名前を変更する必要があります。 Twitterのライブラリとのpython-さえずりライブラリ:

6

私はサイトに

を次のように、この問題に対する解決策を見つけた[http://himanen.info/solved-attributeerror-module-object-has-no-attribute-api/][1]

相反する2つのPythonライブラリがあります。解決策は非常に簡単でした:

pip uninstall twitter 

その後、私はちょうどのpython-さえずりが確かにインストールされたこと、それは確認しました:

pip install python-twitter 

は、あなたはそれが私は同じエラーを得た私

3

のために働いhimanenありがとう私のpythonファイルはtwitter.pyと呼ばれていたからです。それは含まれていた:

import twitter 
api = twitter.Api (consumer_key=... 

ファイル名をtwitterdata.pyに変更し、twitter.pycを削除してから作業しました。

関連する問題