GAE Pythonでインストールしたはずのパッケージがimportできない
トップページ> "> Webサービス "> GoogleAppEngine

GAE Pythonでインストールしたはずのパッケージがimportできない

現象

 Python2.5コマンドラインではエラーなく外部パッケージをimportできるが、GAE SDK(ローカル)で実行するとNo Module named <パッケージ名>エラーとなる。

エラーが発生した行

import BeautifulSoup

エラーメッセージ

Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3197, in _HandleRequest
    self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3140, in _Dispatch
    base_env_dict=env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 522, in Dispatch
    base_env_dict=base_env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2399, in Dispatch
    self._module_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2309, in ExecuteCGI
    reset_modules = exec_script(handler_path, cgi_path, hook)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2205, in ExecuteOrImportScript
    exec module_code in script_module.__dict__
  File "C:\Documents and Settings\kabuki\My Documents\GAE\poseritem\main.py", line 20, in <module>
    import BeautifulSoup
ImportError: No module named BeautifulSoup

チェック項目

 外部パッケージBeautifulSoupは、C:\Python25\Lib\site-packagesにインストールされる。

 以下のコードをGAE上で動かして確認したところ、C:\Python25\Lib\site-packagesもパスに含まれていた。

import sys
print sys.path

 Pythonコマンドラインでは、エラーなくimportできる。

結論

 原因がわからない.

 すっきりしないが、site-packages以下にあるBeautifulSoup.pyをGAEソース直下にコピーすれば動くので、もうこれ以上の調査はやめて、そうすることにした。

  半年とか1年後とかに、すっきりする方法が見つかることを願いつつ、でもまあ動いてるからいいやということで、今回の覚書を終わる。

  はてなブックマーク - GAE Pythonでインストールしたはずのパッケージがimportできない  この記事にTwitterでつぶやく このページをはてなブックマーク


nenshu.png
予測年収600万円以下なら会社にしがみつけ?だと?


次のGoogleAppEngine(python)で、モデルにデフォルト値などを設定へ
トップページ> "> Webサービス "> GoogleAppEngine もくじ