さくらのレンタルサーバでCGIから外部モジュールを使う
関連する以前のエントリ
CGIから外部モジュールを使う時の注意点
上記のエントリでPYTHONPATHに外部モジュールのパスを設定した。
CGI実行時、site.pyを通してPYTHONPATHに指定されたディレクトリ、サブディレクトリがsys.pathに登録される…はずなのだが
このままだとNo modune name hogeとエラーを吐かれてしまう。
Apache の動作モードによっては、セキュリティ上の対策として、CGI に「安全な」環境変数のみが渡されるようになっていることがあります(Apache の suEXEC 機能といいます)。この場合は CGI に PYTHONPATH を渡すことができません。
http://www.emptypage.jp/notes/pymods-on-sakura.html
本当のところどうかわからないが、とにかくひと工夫必要なのはまちがいない。
この記事に書いてある解決策だと上手くいかなかったので、以下の記事を参考にした。
こちらによると、CGIファイルに以下のコードを追加すればいいようだ。
import site site.addsitedir('/home/hoge/lib/python')