2013-02-18 61 views
1

我試圖從終端(Mac OS)運行我的一些python腳本,並且出現導入錯誤。 例如,如果我嘗試導入主,我得到如下:谷歌應用程序引擎 - 終端腳本

ImportError: No module named webapp2 

如果我嘗試導入一個模型腳本,我得到以下幾點:

ImportError: No module named yaml 

我的.bash_profile有這個PYTHONPATH設置 -

export GAE="/usr/local/google_appengine" 
export PYTHONPATH="$PYTHONPATH:$GAE:$GAE/lib/django_1_4:$GAE/lib/:$GAE/lib/yaml" 

我也嘗試過這種做法:

import os 
import sys 

DIR_PATH = os.path.abspath(os.path.dirname(os.path.realpath(__file__))) 
# ... 

EXTRA_PATHS = [ 
      DIR_PATH, 
      os.path.join(DIR_PATH, 'lib', 'antlr3'), 
      os.path.join(DIR_PATH, 'lib', 'django'), 
      os.path.join(DIR_PATH, 'lib', 'fancy_urllib'), 
      os.path.join(DIR_PATH, 'lib', 'ipaddr'), 
      os.path.join(DIR_PATH, 'lib', 'webob'), 
      os.path.join(DIR_PATH, 'lib', 'yaml', 'lib'), 
] 
# ... 
sys.path = EXTRA_PATHS + sys.path 

然後我在導入其他GAE腳本之前導入該腳本,但它仍然不起作用。任何人都有他們的終端設置來運行他們的GAE腳本?如果是這樣,你怎麼做/我做錯了什麼?

回答

4

常見問題,對我來說第一次非常沮喪。如果你開始自己去追逐所有的進口產品,那麼你會得到一個似乎沒有邏輯的frakenstein路徑。然後,我終於閱讀了GAE SDK自身如何做。您添加GAE後您PYTHONPATH你的文件的頂部試試這個:

import dev_appserver 
dev_appserver.fix_sys_path() 

祝你好運!

+0

謝謝,ckhan,修好了! – kevin 2013-02-18 01:19:03

+0

太棒了 - 這值得讚賞。 – 2014-04-18 05:33:51