我在Windows上運行的谷歌應用程序引擎devserver 1.3.3 7.谷歌應用程序引擎:「不能創建一個文件時,該文件已存在」
通常情況下,這種方法效果很好,但這次它給錯誤:
def _deleteType(type):
results = type.all().fetch(1000)
while results:
db.delete(results)
results = type.all().fetch(1000)
錯誤:
File "src\modelutils.py", line 38, in _deleteType
db.delete(results)
File "C:\Program Files\Google\google_appengine\google\appengine\ext\db\__init__.py", line 1302, in delete
datastore.Delete(keys, rpc=rpc)
File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore.py", line 386, in Delete
'datastore_v3', 'Delete', req, datastore_pb.DeleteResponse(), rpc)
File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore.py", line 186, in _MakeSyncCall
rpc.check_success()
File "C:\Program Files\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 474, in check_success
self.__rpc.CheckSuccess()
File "C:\Program Files\Google\google_appengine\google\appengine\api\apiproxy_rpc.py", line 149, in _WaitImpl
self.request, self.response)
File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore_file_stub.py", line 667, in MakeSyncCall
response)
File "C:\Program Files\Google\google_appengine\google\appengine\api\apiproxy_stub.py", line 80, in MakeSyncCall
method(request, response)
File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore_file_stub.py", line 775, in _Dynamic_Delete
self.__WriteDatastore()
File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore_file_stub.py", line 610, in __WriteDatastore
self.__WritePickled(encoded, self.__datastore_file)
File "C:\Program Files\Google\google_appengine\google\appengine\api\datastore_file_stub.py", line 656, in __WritePickled
os.rename(tmpfile.name, filename)
WindowsError: [Error 183] Cannot create a file when that file already exists
我在做什麼錯?這次怎麼會失敗,但通常情況並非如此?
UPDATE我重新啓動了devserver,當它重新聯機時,數據存儲區爲空。
好的,我會做到這一點。另外,如果我運行的是Python 2.6,它與GAE的兼容性有多糟? – 2010-07-02 05:18:45
@Rosarch,在本地SDK中使用2.6可以以微妙和意想不到的方式讓你受到影響,但更糟糕的是,它可以讓你在你的SDK上編寫代碼並運行一些東西,當你上傳你的代碼時,它會以更難找到的方式破解代碼到谷歌 - 我**強烈建議安裝一個2.5 GAE使用(可以與現有的2.6「並排」完成,你只需要設置不同的PATH或更明確)。 – 2010-07-02 05:40:25