2014-11-22 73 views
4

我寫的谷歌應用程序引擎我想運行我的應用程序,每次一個小應用程序,我有以下錯誤:GoogleAppEngineLauncher:數據庫磁盤映像格式不正確

*** Running dev_appserver with the following flags: 
    --skip_sdk_update_check=yes --port=13080 --admin_port=8005 --clear_datastore=yes 
Python command: /usr/bin/python2.7 
INFO  2014-11-22 07:47:57,008 devappserver2.py:745] Skipping SDK update check. 
Traceback (most recent call last): 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/dev_appserver.py", line 83, in <module> 
    _run_file(__file__, globals()) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/dev_appserver.py", line 79, in _run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 997, in <module> 
    main() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 990, in main 
    dev_server.start(options) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 789, in start 
    request_data, storage_path, options, configuration) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 888, in _create_api_server 
    default_gcs_bucket_name=options.default_gcs_bucket_name) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/api_server.py", line 403, in setup_stubs 
    logservice_stub.LogServiceStub(logs_path=logs_path)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/logservice/logservice_stub.py", line 107, in __init__ 
    self._conn.execute(_REQUEST_LOG_CREATE) 
sqlite3.DatabaseError: database disk image is malformed 

當我運行的其他應用我已經創建,我沒有任何錯誤。 我嘗試了一些基本思路:

  • 刪除/重新添加該應用

  • 刪除應用程序啓動器,然後重新安裝

  • 重新啓動Mac

  • 定位數據庫,其中可能是一些grep的

沒有工作。任何想法?

回答

5

默認的日誌數據庫文件名是log.db。它存儲在您的應用程序存儲目錄,默認情況下位於您tempfile.gettempdir()目錄,命名爲appengine.[appname].[userid]

appname部分均採用值從app.yaml(尋找application條目),取代:冒號用下劃線,最後~波浪之前刪除一切(如果有的話)。

所以,如果您的應用程序被稱爲foobar和您的用戶名是jbj,損壞的SQLite數據庫位於:

`python -c 'import tempfile;print tempfile.gettempdir()'`/appengine.foobar.jbj/log.db 

在Mac OS X,tempfile.gettempdir()返回/var/folders某處下散列路徑;它只是從TMPDIR環境變量中獲取,所以你應該只是能夠使用:

rm $TMPDIR/appengine.foobar.jbj/log.db 

您可以安全地刪除此文件,它會被重新創建下次啓動應用程序的時間。

+0

只是想補充一點,我不得不重新啓動從谷歌啓動SDK應用程序:)。謝謝你的信息,非常有幫助:) – Khaled 2017-12-17 19:39:51

相關問題