python

virtualenvのPythonバージョンを指定

前提 Homebrewをインストール済みのMacに環境を構築 pipとかでvirtualenvはインストール済み ※Homebrewについて http://brew.sh/index_ja.html 手順 HomebrewでPythonをインストール らくちんなのでHomebrewでpython3.4を入れる $ brew install python3 virt…

JenkinsでDjangoのCI環境作ったら疲れた

Jenkins(1.540)でテストを実行するとエラーになっちゃう Pythonプロフェッショナルプログラミングを参考にしながら、JenkinsでDjangoアプリのCI環境を構築してたら、以下のエラーが出まくって困った。 ・・・ Ran 3 tests in 0.017s OK Generating XML repor…

さくらVPS上にWebサービスを公開したはなし

正月で生活習慣が乱れまくったので、睡眠習慣を記録するWebサービスを作った。おふとんグラフ http://ofline.biz/ 使用したもの ・サーバ:さくらVPS ・言語:Python ・フレームワーク:Flask(flask-oauth, flask-wtf, sqlalchemy) ・HTTPサーバ:nginx ・DB…

SQLAlchemyでMySQLに接続

SQLAlchemyからMySQLに接続してみたらちょっとハマった。 まず以下のエラーが出たので、mysql-pythonを入れてMySQLdbを使えるようにする。 ImportError: No module named MySQLdb $ easy_install mysql-pythonすると、エラーになってしまい、mysql-pythonを…

FlaskでWTFormsを使う

FlaskにはFormがないため、WTFormsをつかってみた。 ほとんど以下のドキュメント・ブログを見ればわかる気もするが、自分用にメモ。本家ドキュメント http://wtforms.simplecodes.com/docs/1.0.4/index.html参考ブログ(大変参考になりました) http://tnakamu…

Flaskでajax(jQuery)

クライアント側から、サーバにデータを送信。 サーバ側で処理をして、結果をクライアントに返すサンプル。jQueryはまだまだ使い慣れてない。 ・イベントの発生した要素を指す、$(this)セレクタ ・a要素のclickイベント ・一度だけイベントを起こす.one() と…

htmlのタグを指定して値を取り込む

先日書いた日記の改善事項について。 http://yuizho.hatenablog.com/entry/2013/04/07/005055htmlを読み込んで、タグ内の値を取り込むときはlxml, Beautiful Soupなどのモジュールをしようするとうまくいく。 ※あらかじめ、easy_installなどでモジュールを取…

DailymotionのムラムラするスクリプトをPythonで

SoftwareDesign4月号のゆーすけべー氏の記事を見て、触発されたのでなんとなくPythonで書いてみた。 Dailymotionの動画を手に入れてムラムラするスクリプト http://yusukebe.com/archives/20130116/003123.html動画の検索 #!/usr/bin/env python #-*- coding…

Pythonの文字列

pythonの文字列にはuicode文字列とstr文字列がある。簡単に違いを示すと、 ・unicode文字列:文字列 ・str文字列:バイト文字列len()を使用すれば、そのことがよくわかる。 >>> len('もじれつ') 12 >>> len(u'もじれつ') 4 ※u"ex"はunicode文字列への変換を…

Pythonのアサーション(assert)

http://d.hatena.ne.jp/JavaBlack/20130324/p1#20130324f7 を読んでいつものようにドキリとしたことに加え、昨日たまたまUnitテストについて少し書いたので、今日はアサーションについて。 >>> def add(num): ... assert isinstance(num, int) ... return nu…

PythonのUnitTest

Pythonのunittestモジュールを使用してUnitTestを行うメモ。・被テストモジュール(util.py) def fizzbuzz(number): if number == (): raise TypeError('数字を入れてください') if((number % 3 == 0) and (number % 5 == 0)): return 'Fizz Buzz' elif(numbe…

ファイル読み込み

ファイルを読み込む際、ファイルオープンの際にエラーが起きたときを考えると、以下のように書くべきではない。 try: file_object = open(file) print file_object.read() finally: file_object.close() このような場合、file_objectをtry句の外に出してしま…

Pythonのクロージャ

クロージャについてクロージャとは外部関数(下の例ではmake_adder)にとってのローカル変数を参照している、内部関数(下の例ではadder)のこと。 >>> def make_adder(addend): ... def adder(augend): return augend + addend ... return adder ... >>> #内部…

Pythonインタプリタでシェルコマンド実行

pythonシェルを使用中に、シェルコマンドを使用したくなった際のめも。 参考:http://ja.softuses.com/115345 参考のように、os.system('コマンド名')で呼び出してやればOK こういうちょっとした関数を定義するときはlambda式を使用するのが良さそう。 >>> d…

flaskとsqlalchemy(あとflaskでのOatuh認証)

flaskチュートリアルのflaskrをsqlalchemyを使って書き直してみた。 参考にしたのは以下のページ。 http://a2c.bitbucket.org/flask/patterns/sqlalchemy.html 実際に作ったものはこれ。 https://github.com/yuizho/TweetStacker ・DBへの接続設定:database…