.python-eggs でちょっとハマったメモ。

MySQL-python を使うとき .python-eggs が作成されるのだけど、
デフォルトでは、自分のホームディレクトリ下に作成される。

なので、例えば下記のように別ユーザーでスクリプトを実行させた場合、
実行ユーザーのホームディレクトリに書き込み権限がない為、エラーが発生する。

$ sudo -u hoge ./script.py
import MySQLdb がうんたらエラー!
.python-eggs パーミッションデニード!!

なんとかする

自分のホームディレクトリに他人の書き込み権限を加えてみる。

一応は、解決される。
けど、自分のホームディレクトリに他人の書き込み権限はつけるなんてもってのほか。

てことで、

なんとかする2

.python-eggs の書き込み先を別の書き込み権限のある箇所に変更する。

.python-eggs の書き込み先は、以下の環境変数に設定することで変更可能。

import os
os.environ['PYTHON_EGG_CACHE'] = '/usr/local/foo/.python-eggs'

うん。これが無難なんじゃあるまいか。

いやしかし、意外とハマッた。

関連エントリー:

Flask + Python 基礎

Python で実装する IRCボット

Python + FlaskでMVC的なことをやってみた

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">