Python

PILとlibjpegがUbuntuでみつかんねーよっていうエラーの話

なんかPILいれたのにUbuntuでうごかねーっていう 結論としては libjpeg-devをいれる 適切な位置にシンボリックリンクを貼ってやる PILをいれる でよかった。 詳細 sudo apt-get install libjpeg-dev sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/l…

ユニコード文字列を含むファイルの読み書きにはcodecsを使う

ある複数のidから特定のidの状態をファイルに保存する簡単なスクリプトだったのだが # coding=utf-8 import requests def main(): ids = range(1, 100) with open('hoge', 'w') as f: for id in ids: data = {} data['No'] = id r = requests.post(PATH, dat…

「サーバーサイドの知識の無さに全俺が泣いた」レベルの入社当時の人に読ませたら少しはアドバイスになったであろうPythonとDjangoの前提知識メモ

前提知識大杉。なので自分が入社当時のスペックで知らなかったことを概説的に一気にまとめてみようと思う。これが誰か初学者の役に立ったら幸いです。 当時のスペック 中学校のころBasicに触れるものの、randomにlineひいただけ 高校のころ情報の授業でn進法…

QueryDictをどうにかして拡張してハッシュ化したパスワードでログインしたかった話

パスワードのハッシュ化は基本 まあそりゃ平文で保存するはずないのであるユーザーがあるパスワードをつくったときはハッシュ化します こんなmodels.pyがあるとする from django.db import models class User(models.Model): name = models.CharField(u"名前…

Ubuntu 11.10から12.04LTSに変えたらvirtaulenvが動かなくなった件について

pip freezeすらうごかない これではvirtauelenv環境がぶっ壊れたのとおなじじゃないか!!!! 解決方法その1::virtualenvそのものをつくりなおす Ubuntuを12.04にupgradeしたらvirtualenv環境で'cannot import urandom'と出るようになった - kk6のメモ帳* …

Skypeをキーボードショートカットでラクしたかった(Skype4Pyでがんばろうとしてダルくなった話)

Skypeは優れたグループチャットツールだが、キーバインド変えるとかないし、キーボード派にとっては拷問だ!!!! こんな腐ったプロダクトおれが正してやる!!!!ってSkype4Pyを漁ってたのだけど、デフォルトのキーバインドも悪くないことに今再気づいて…

minimockを使う、という話

あまり詳しいことはわかっていない 詳細はpypiの公式ドキュメント( MiniMock 1.2.8 : Python Package Index ) かminimockの使い方 - 今川館 を参考にしてください 自分なりの理解 モックはテストをする上でダミーとして差し替えるもの。もちろん本物のデータ…

今日のハマり(PythonとMySQL絡みとか)

pip install MySQL-pythonをいれるときにpython2.7-devが必要 python.hがありませんって言ってた。ググったらpython2.6-devだった。今回は2.7なので解決 sudo apt-get install python2.7-devあと mysql_configがないってエラーが言われた。libmysqlclient15-…

XMLをパースして辞書にしてリストの入れ子にする

たぶんもっとスマートなやり方があるとおもう 結果的に作りたかったのはこんな感じ [ {aaa:bbb, ccc:ddd} {eee:fff, ggg,hhh} ...... ] おれにはうまく思いつかなかったんや。ゴリ押しの方法。 DjangoのViews.pyです #AmazonAPIをセットする外部関数 api = A…

PythonでAmazonのAPIを使う

大まかな流れ APIキーを手に入れる ライブラリの選定 実際に試してみた python-amazon-product-api bottlenose 事前準備 - APIキーとアソシエイトタグの入手 ここのページを参考にしました。素直にアカウントとってAPIキーを発行してもらいます。アソシエイ…

JSのSyntaxまわりのvim環境を整える(ついでにPythonも)

CoffeeScriptは好きです だけど結局JavaScriptで書かなきゃいけないことも多いだろうし、せっかくなのでJSのSyntax関係を整えようと思った。 まずは処理系が必要です もっぱらNodeに頼ってるので(というかNodeの開発しようとしてるし)Nodeをインストールする…

CharFiledにつっこんだテキストを@やハッシュタグに対応するためにカスタムテンプレートフィルターをつくった

models.CharFiledは勝手にテキストノードっぽい感じでつっこんでくれる だからエスケープとか考えなくていいけれど、その代わり逆にinnerHTML的にあるテキストに対して書き換える動作をしたかった。そのためにはカスタムテンプレートを自作する必要があった…

Tweepyでt.coを展開する

APIドキュメントは古かった Welcome to tweepy’s documentation! — tweepy v1.4 documentation 1.4のドキュメントがSphinxであるのだけど、現在は1.8だし、Twitter APIの仕様もけっこう変わってたりする。一番大きいのはUserStraemなのかもしれないけど、今…

Djangoで他のオブジェクトをそのまま保存したかった

経緯 スカンディナヴィア半島2(Twitter Web クライアント)を作るためにDjangoでTweepyからとってきたオブジェクトをそのまま保存したほうがいいと思った tweetpy でとれたobjectをDjangoで保存したい→pickleしよう - Togetter 結論 無理だった。理由は2つ そ…

DjangoでMySQLを使うメモとか

環境 Ubuntu 11.04 インストール 普通にapt sudo apt-get install mysql-server sudo apt-get install python-mysqldb MySQLの設定 /etc/mysql/my.cnf の [mysqld] に追加 default-character-set=utf8 character-set-server=utf8 skip-character-set-client-…

CygwinでVirualenv環境を整えようとしてハマったメモ

いつも通り環境を構築すればいいだけだった Pythonの環境構築メモ - AtAsAtAmAtArA これのとおりにやろうとしたのに2つハマった。 その1::pipとvirtualenvとvirtualenvwarapperの設定を先にするのをわすれて、easy_installしたものをアンインストールしなけ…

正規表現とか重複とかハマったとことかのメモ

forms.py from hoge.models import User import re class CreateProfileForm(forms.ModelForm): checkbox = forms.CharField(label=u'規約に同意する', widget=forms.CheckboxInput()) class Meta: model = User fields = ('name',) def clean_name(self): n…

Mac OS X Lion にしたら mercurial と Virtualenvwrapper がぶっ壊レタ件について

結論 全部入れなおせ たぶん Python が2.7系になったからだと思う。 アンインストール+インストール gccをいれる Lionにするとgccが見つからないとかアホなことがおこるので入れなおす。*1 AppStoreでXcodeを入れて、インストール。アプリケーションからInst…

fabric情弱なおれがなんか教わったからてきとーにまとめておく

thx @xxx ++ おれがかくことはてきとーなのでid:xxx てんてーに聞くように!!!! fabricとは Pythonでシェルをラップしてくれる便利的なもの。それだけだったら別にシェルスクリプトでよくね?ってなるけど、 リモートで複数設定で使える Pythonでかける …

idという変数を使っていてTypeErrorでハマった

こんなviews.pyかいてた リファクタリングしていた def thread(request,answer_id): '''QAスレッドの閲覧と投稿''' user = get_user(request) is_answered = Answer.objects.filter(user=user,question__pk=id).count() > 0 if request.method == "GET": que…

pythonでランダムな文字列を作成する

やり方 パクったりshellでいろいろやってみたけどこれが簡単じゃないかな def _get_random_str(): import random _random_str_list = 'asdfghjklqwertyuiopzxcvbnm1234567890ASDFGHJKLZXCVBNMQWERTYUIOP' random_str = '' for i in range(20): random_str +=…