2017年07月 / 06月≪ 12345678910111213141516171819202122232425262728293031≫08月

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--  |  スポンサー広告  |  EDIT  |  Top↑

2014.12.07 (Sun)

WindowsでのPython開発環境再構築

久々にPython触ろうと思ったものの、昔の状態だったのとWindows上ではPythonいじってなかったので、改めて環境準備します。

【主なインストール物】
・Python27
・easy_install
・pip
・sublime3
 ・Emacsライクなキーバインド設定
 ・表示カスタマイズ
 ・Package Control

スポンサーサイト
11:27  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2011.09.07 (Wed)

[Python] Python での再帰の上限 [再帰]

ちょっと訳あって Python で再帰するプログラムを書いてました。
メモリや処理時間がかかることは承知の上で。

で、いざ実行してみると次のようなエラーが。

RuntimeError: maximum recursion depth exceeded while getting the str of an object


どうやら、Python では再帰ネストの上限が 1000 と決まっているらしい。
この上限をはずす方法も見当たらない。
しょうがないので Java で書き直すことにする。



2011年9月16日追記:
再帰の上限について、ichirin2501 さんがコメントで教えてくれました。
高エネのためのプログラミングガイド/3.2. Pythonの再帰呼び出し回数の制限というサイトで上限値の取得と設定について書いてありました。

・現在の再帰ネスト数上限値の取得

sys.getrecursionlimit()


・再帰ネスト数上限値の書き換え

sys.setrecursionlimit("設定したい上限値")


テーマ : プログラミング ジャンル : コンピュータ

00:51  |  Python  |  TB(0)  |  CM(2)  |  EDIT  |  Top↑

2011.08.23 (Tue)

[Python] web.py の設定と使い方 [web.py]

ひょんなことから web.py を使う事になりました。
かなり環境設定でつまずいたのでメモ。

環境:
   ・Debian Linux(squeez)
   ・Python2.6
   ・apache2
   ・web.py


1.配置した python を実行するための設定
2.キャッシュファイルの設定
3.静的ファイル(画像やスタイルシートなど)の配置
4.web.py と javascript の利用


テーマ : プログラミング ジャンル : コンピュータ

23:15  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2011.08.21 (Sun)

[Python] python から SVM を使うときのメモ [SVM]

python から libsvm-python を使う環境を作るときのメモ。
19:19  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2011.08.16 (Tue)

[Python] Tweepy メソッド・インスタンス名の一覧 [Twitter]

最新版 Tweepy の API リファレンスが見つからないので、直接中身を見ながら作業した時のメモ。

・class 'tweepy.api.API'
・class 'tweepy.models.User'
・class 'tweepy.models.DirectMessage'
・class 'tweepy.models.Status'

テーマ : プログラミング ジャンル : コンピュータ

15:15  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2011.08.10 (Wed)

[Python] Python から TwitterAPI を利用するためのモジュールの比較というかメモ [Twitter]

まだまだ Twitter は流行ってますね。
以前、python-twitter や Tweepy などを使って Twitter の bot を作ったりしていました。
最近、また Twitter を触る必要が出てきたので、もう一度 Python から TwitterAPI を触るときのモジュールについて調べてみようと思います。
StreamingAPI は今回は無視します。
特にリアルタイム性のあるものを作るつもりではないので。

少し依然触ったときの話をしておくと、最初は python-twitter を利用していたのですが、2010年あたり(?)に OAuth 認証が必須になったため、使うことができなくなってしまいました。
正確には、python-twitter を OAuth 認証対応させる方法もあったのですが、ならいっそのこと、デフォルトで対応している他のモジュールも使ってみようと思い Tweepy で TwitterAPI を叩くことにしました。
今は Tweepy で bot が動いています。

余談はここまでにして、調べてみます。
とりあえず、python-twitter か Tweepy が Web 上のサンプル数やリファレンスの有無などから言って使いやすそう。

テーマ : プログラミング ジャンル : コンピュータ

03:26  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2011.08.09 (Tue)

[Python] Python らしい文法・使い方

今まで時々 Python を使ってきたものの、あまり独特の文法や機能は使ってこなかったので、それらをまとめることにしました。
割と基礎的なところも書いてる気がしますが、その時の気分でテキトーに書いてます。
ブログの仕様のせいでサンプルプログラムの半角スペースが消えちゃってますが、ソースを見るなり空気で適当にタブを入れるなりでお願いします。

内容:
  ・リストの操作
  ・変数の型を調べる
  ・設定ファイル
  ・モジュール内に定義されている関数名・変数名リストの取得
  ・for ループの内包表記(簡易表現)
  ・三項演算子
  ・zip() 関数
  ・ラムダ式(途中)

テーマ : プログラミング ジャンル : コンピュータ

07:20  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2011.07.31 (Sun)

ローカルでデバックする際の GoogleAppEngine の管理コンソール

久しぶりに GoogleAppEngine を触っており、昔と同じで Python25 + Eclipse + PyDev で開発してます。

それで、ローカルでデバッグしていた時にテスト実行した結果、データストアが成功しているかチェックしたくなりました。
しかし、どうするのかわからないので調べたところ、ブラウザから確認可能でした。

http://localhost:8080/_ah/admin/


ブラウザでこのURLにアクセスすることで、GoogleAppEngine でおなじみの開発コンソールが現れます。

テーマ : プログラミング ジャンル : コンピュータ

06:12  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2011.01.03 (Mon)

[Python] Tkinter でタブ機能を実現する方法

Python の GUI ライブラリである Tkinter.
デフォルトで Python に入っているのですぐに使えると言う利点がある。
だが、Tkinter には Web ブラウザによくあるようなタブ機能が用意されていないようだ。

そこで、どうすればよいか調べたところ、BWidgetsというモジュールを使えば実現できるようだ。

Tkinter と BWidget を利用して作った複数タブあるサンプルアプリ
http://tkinter.unpythonic.net/wiki/NoteBook

テーマ : プログラミング ジャンル : コンピュータ

23:54  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

2010.09.30 (Thu)

[Python] python-twitter の OAuth 認証対応 [Twitter]

Twitter の Basic 認証が8月から無理になるということでしたが、なんだかんだで9月28日くらいまでは動いていました。
しかし、いくつか Bot を作ってはいたものの、全部 Basic 認証だったのでついに動作停止しました。
なので、OAuth 認証に対応させようと頑張ってます。

今まで python-twitter でやっていたので、このままこのライブラリを使おうとしてみたものの、いろいろと問題が発生。
結論から言うと、ツイートしようとするとエラーが発生。
解決できないので、 python-twitter を利用するのは諦めました。
では、以下に四苦八苦した点を記載していきます。




1.python-twitter_0.6 は OAuth 不対応

9月30日現在、ダウンロード版の python-twitter はバージョン0.6が最新なのですが、これは OAuth に対応していません。
ドキュメントを見ると

    api = twitter.Api(id, pass, key, secret)

というような、いかにも「できますよ!!」と思わせる例が載っているのですが、実際にプログラムを書いてみるとエラー。
どうやらこの部分はまだ作られていない様子。
で、調べてみるとこのHPに突き当たる。

一部抜粋すると、

# python-twitterのDL版(Ver0.6)ではOAuthには対応していない。
# python-twitterの開発版(レポジトリのHEAD)ではOAuthに対応している。
# python-twitter(および依存ライブラリ)はPure Pythonなモジュール。

とのこと。
つまり、開発版を落とせとおっしゃられる。



2.python-twitter の開発中ソースからライブラリをインストール

この開発版は Mercurial というバージョン管理システムで公開されているため、それをインストールして

     $ hg clone https://python-twitter.googlecode.com/hg/ python-twitter
     $ cd python-twitter
     $ python setup.py build
     $ python setup.py install

とすればインストール完了。
さて、早速、以下のテストプログラムを動作させてみる。



3.サンプルプログラムの実行とエラー

正しく動けば、OAuth 認証され、アクセスするユーザのタイムラインと特定ユーザのフォロワーが表示される。
そして、Twitter に "test tweet." というつぶやきを行うはず。




# -*- coding: utf-8 -*-
import twitter # twitterAPI

account_name = 'あかうんとめい'
account_pass = 'あかうんとぱす'
access_oauth_token = 'アクセストークン'
access_oauth_token_secret = 'アクセストークンシークレット'

def main():
    api = twitter.Api(account_name, account_pass, access_oauth_token, access_oauth_token_secret)
    tweets = api.GetUserTimeline('処理対象のアカウント')
    print api.GetFollowers()
    bot.PostUpdate('test tweet.')

if __name__ == "__main__":
    main()





動作させてみると、PostUpdate() のところで次のようなエラーが出る。

twitter.TwitterError: Incorrect signature


どうも、うまく認証できていない・・・?
何が原因かはソースをたどってもググってもよくわからず、諦めました。
かわりに、Tweepy というライブラリで bot を作り直すことにします。
これのエラー原因を教えてくれる方随時募集です。


テーマ : プログラミング ジャンル : コンピュータ

19:52  |  Python  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | BLOGTOP |  NEXT

 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。