部署到Google Appengine时“文件名中的字符无效:__static__”

时间:2013-06-30 09:15:09

标签: python google-app-engine python-2.7

我的Python应用程序报告了here同样的问题。使用appengine 1.8.1,当我尝试部署时,出现以下错误:

Error 400: --- begin server output ---
Invalid character in filename: __static__\static/config/sboxwsdl.xml

我猜它正在抱怨反斜杠。路径“__static__\”的一部分不是我可以在应用程序中更改的内容;它是在appengine代码中完成的。用google / appengine / appcfg.py中的posixpath.join替换os.path.join并不能解决问题。这是我的app.yaml文件:

application: theappiamwriting
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:

- url: /files/csv
  static_dir: static/csv
  mime_type: text/csv
  application_readable: true

- url: /files/config
  static_dir: static/config
  mime_type: text/xml
  application_readable: true

2 个答案:

答案 0 :(得分:0)

在PHP&中看到的问题使用application_readable时,在Windows上进行Python 1.8.1部署。问题已标记: https://code.google.com/p/googleappengine/issues/detail?id=9558

解决方法:

用Google Appengine \ google \ appengine \ tools \ appcfg.py

中的posixpath.join替换os.path.join

答案 1 :(得分:0)

从上面提到的googleappengine问题来看,当只在windows下使用application_readable = true标记static_dir时,似乎会出现问题。

解决方法,因为这对我有用,要么删除application_readable属性,要么将脚本需要读取的文件移动到单独的目录中,而不应用application_readable。 (请记住,application_readable意味着脚本可读的文件)。

我尝试用appcfg.py中的posixpath.join替换os.path.join,但它似乎不适用于版本1.8.1的谷歌应用引擎sdk。