2013-03-25 73 views
1

我試圖使用Appengine SDK版本1.7.6,但收到致命錯誤(如下所述),因此恢復到1.7.5,其中我的應用工作正常。然而,當我嘗試在1.7.5中運行實驗devappserver時,我在1.7.6中看到的錯誤再次出現。我在win 7機器上運行Python 2.7。標準安裝AppEngine的選擇。致命devappserver2錯誤:Appengine 1.7.6和1.7.5 python 2.7中的PYTHON_EGG_CACHE,win7

這些錯誤信息是指涉及到PYTHON_EGG_CACHE權限,但... - 2)的位置註明的應用程序可以成功地提取文件 - 1)他們不爲「老」 dev_appserver 發生。事實上,我將PYTHON_EGG_CACHE的路徑更改爲另一個位置,給了它開放的權限,但仍然收到錯誤。 - 3)我的網站包中有pyyaml,所以我不知道爲什麼它需要做臨時提取。

尋求解決方案的任何幫助將不勝感激,因爲我將被迫在幾次發佈時間使用新的devappserver。

命令行錯誤下面轉儲:

python "C:\Program Files (x 
86)\Google\google_appengine\devappserver2.py" . 
WARNING 2013-03-25 19:10:41,029 devappserver2.py:497] devappserver2.py is curre 
ntly experimental but will eventually replace dev_appserver.py in the App Engine 
Python SDK. For more information and to report bugs, please see: http://code.go 
ogle.com/p/appengine-devappserver2-experiment/ 
INFO  2013-03-25 19:10:41,171 appcfg.py:618] Checking for updates to the SDK. 

WARNING 2013-03-25 19:10:44,525 simple_search_stub.py:975] Could not read searc 
h indexes from c:\users\ben\appdata\local\temp\appengine.dev~upskillme-main.Ben\ 
search_indexes 
INFO  2013-03-25 19:10:44,539 api_server.py:148] Starting API server at: http 
://localhost:49302 
INFO  2013-03-25 19:10:44,555 dispatcher.py:96] Starting server "default" run 
ning at: http://localhost:8080 
INFO  2013-03-25 19:10:44,571 admin_server.py:112] Starting admin server at: 
http://localhost:8000 
Traceback (most recent call last): 
    File "C:\Program Files (x86)\Google\google_appengine\_python_runtime.py", line 
150, in <module> 
    run_file(__file__, globals()) 
    File "C:\Program Files (x86)\Google\google_appengine\_python_runtime.py", line 
146, in run_file 
    execfile(script_path, globals_) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de 
vappserver2\python\runtime.py", line 39, in <module> 
    from google.appengine.ext.remote_api import remote_api_stub 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remo 
te_api\remote_api_stub.py", line 75, in <module> 
    import yaml 
    File "C:\Program Files (x86)\Google\google_appengine\lib\yaml-3.10\yaml\__init 
__.py", line 14, in <module> 
    from cyaml import * 
    File "C:\Program Files (x86)\Google\google_appengine\lib\yaml-3.10\yaml\cyaml. 
py", line 5, in <module> 
    from _yaml import CParser, CEmitter 
    File "C:\Python27\lib\site-packages\pyyaml-3.10-py2.7-win32.egg\_yaml.py", lin 
e 7, in <module> 
    File "C:\Python27\lib\site-packages\pyyaml-3.10-py2.7-win32.egg\_yaml.py", lin 
e 4, in __bootstrap__ 
    File "C:\Python27\lib\site-packages\pkg_resources.py", line 882, in resource_f 
ilename 
    self, resource_name 
    File "C:\Python27\lib\site-packages\pkg_resources.py", line 1351, in get_resou 
rce_filename 
    self._extract_resource(manager, self._eager_to_zip(name)) 
    File "C:\Python27\lib\site-packages\pkg_resources.py", line 1406, in _extract_ 
resource 
    manager.extraction_error() # report a user-friendly error 
    File "C:\Python27\lib\site-packages\pkg_resources.py", line 928, in extraction 
_error 
    raise err 
pkg_resources.ExtractionError: Can't extract file(s) to egg cache 

The following error occurred while trying to extract file(s) to the Python egg 
cache: 

    [Error 5] Access is denied: 'C:\\Users\\Ben\\AppData\\Roaming\\Python-Eggs\\py 
yaml-3.10-py2.7-win32.egg-tmp\\_yaml.pyd' 

The Python egg cache directory is currently set to: 

    C:\Users\Ben\AppData\Roaming\Python-Eggs 

Perhaps your account does not have write access to this directory? You can 
change the cache directory by setting the PYTHON_EGG_CACHE environment 
variable to point to an accessible directory. 

Exception in thread Thread-4: 
Traceback (most recent call last): 
    File "C:\Python27\lib\threading.py", line 551, in __bootstrap_inner 
    self.run() 
    File "C:\Python27\lib\threading.py", line 504, in run 
    self.__target(*self.__args, **self.__kwargs) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de 
vappserver2\server.py", line 1045, in _loop_adjusting_instances 
    self._adjust_instances() 
+0

我建議在相應的組中報告這個,以確保它看到:https://groups.google.com/forum/?fromgroups#!論壇/ appengine-devappserver2-discuss – dragonx 2013-03-25 06:51:12

+0

謝謝。已經這樣做了。 – BenHealey 2013-03-25 07:27:42

回答

2

如果有人有相同的問題走來,爲我工作的決議如下:

  • 解壓PyYAML-3.10-PY2。在您的python27網站包 目錄中的7-win32.egg到站點包內的​​新目錄中。您需要將 解壓縮到像NEWPYYAML-3.10-py2.7-win32.egg 這樣的目錄名稱中,以避免名稱衝突。
  • 重命名你的原蛋。到其他東西(例如,OLDPyYAML-3.10-py2.7-win32.egg)。
  • 重新命名新的目錄來PyYAML-3.10-py2.7-win32.egg

蛋現在實際上會指向在包含解壓Python文件您的站點包目錄中的所有引用。新的devappserver應該能夠處理這個問題。

不確定如何解開Windows中的雞蛋?看到這裏(假設你有Winzip或類似的安裝): http://mail.python.org/pipermail/chicago/2007-July/002301.html