[TextMate] Portで入れたPythonで動かない

PythonのコーディングにTextMateを使い始めたのですが、command+Rで実行させた時にどうもSnow Leopardのデフォルトで入ってるPythonで動いているみたいです。
Python2.5とかPython2.6とかを使い分けたいので、Portで入れたPythonを使って欲しいのですが、python_selectで設定しても全く関係無しでデフォルトのやつで動くみたい。

試しに以下のスクリプトを実行すると

import sys
import os

print sys.version
print os.environ['PATH']


ってなってた。
どうやらPATHが素の状態のままっぽいのでちょっと無理矢理感がありますがプロジェクトの設定でPATHに/opt/local/bin:/opt/local/sbin/:/usr/bin:/bin:/usr/sbin って入れてみると


Portで入れたPythonが動作しました。

Filed under: Programming,Python — maesan 1:49 PM

PythonでKeyErrorを回避する

ハッシュ(Python的には辞書)で存在しないキーでアクセスするとKeyErrorが出ちゃう。
データは必要なのでキーの存在確認をして、存在しなかったらデフォルトの値とかを表示したい場合に

data = {}
if 'hoge' in data:
print data['hoge']
else:
print "default"

ってやればいいんだけど、getを使うと超かんたんにできちゃう

data = {}
print data.get('hoge', 'default')

で、他にもsetdefaultってのがあるらしく、表示だけじゃなくてデータをセットしたい場合に

data = {}
# getでやるならこんな感じなのを
data['hoge'] = data.get('hoge', 'default')
# setdefaultならこんな感じで書ける
data.setdefault('hoge2', 'default2')

何か気持ちイイw

Filed under: Programming,Python — maesan 10:19 PM

TextMateで__MyCompanyName__を自動で入れる

なんかちょっと調べたらXCodeで__MyCompanyName__に自動で入るようにしておいたらTextMateでも自動で入るような感じだったのですが、入らないので更に調べました。

どうやらProjectのVariableの「TM_ORGANIZATION_NAME」ってのに入れたらいけたっぽい。

TextMate使い始めたばっかりだけど、まだまだ慣れないから生産性上がらないぜ><

Filed under: Programming,覚え書き — maesan 10:02 PM

[cakePHP] PHP5.3にしたらDeprecatedが表示されまくったでござる

ちょっとMacBookのHDDの調子が悪くなってきたので一旦OSから再インストールして環境を再構築したのですが、PHP5.3にするとcakePHP1.2だとDeprecatedがでまくりでかなり鬱陶しい事になってしまいました。

php.iniを書き換えたり、cakePHPのソースを書き換えたりする方法は何となくイヤだったので、.htaccessで対応することにしました。

適当にcakePHPのルートの.htaccessに以下を追記すればおkでした

php_value error_reporting 22527

Filed under: cakePHP,PHP,Programming — maesan 12:26 PM
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)