新手 - 歉意ImportError:<module'main'=“”from =“”。=“”。=“”。=“”。has =“”no =“”attribute =“”app

时间:2017-06-03 13:22:06

标签: python google-app-engine webapp2

=”“

如果这很明显,请抱歉。我是一个新手,并且不太了解论坛上使用的语言。我试图从Python 2.5转换为2.7,但我收到上述错误消息。我只是将app.yaml文件更改为显示python27,更改了&#34; main.py&#34;阅读&#34; main.app&#34;并添加&#34; 2&#34;到main.py文件中的webapp这个词。任何帮助将非常感激。 main.py文件:

import webapp2

import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template

class MainHandler(webapp.RequestHandler):
  def get (self, q):
if q is None:
      q = 'index.html'

    path = os.path.join (os.path.dirname (__file__), q)
    self.response.headers ['Content-Type'] = 'text/html'
    self.response.out.write (template.render (path, {}))

def main ():
  application = webapp2.WSGIApplication ([('/(.*html)?', MainHandler)], 
debug=True)
  util.run_wsgi_app (application)

if __name__ == '__main__':
  main ()

app.yaml文件:

runtime: python27
api_version: 1
threadsafe: true

handlers:
 - url: /(.*\.(gif|png|jpg|ico|js|css))
  static_files: \1
  upload: (.*\.(gif|png|jpg|ico|js|css))

- url: .*
  script: main.app

1 个答案:

答案 0 :(得分:0)

当你写&#34; main.app&#34; python正在寻找main.py,并在里面查找&#34; app&#34;,这就是你收到错误的原因

保留文件名main.py,当你在任何地方导入它时,只需将其称为&#34; main&#34; (没有.py)

现在,如果您想在main.py文件中运行main(),那应该看起来像main.main