我正在测试Google Cloud,首先我想在我的PC上开发一些东西,然后再使用谷歌云。 我正在使用APACHE并以这种方式配置它,当我进入页面localhost / wsgi_app时,我看到我的页面实际存储在文件夹/ svc / http / webapp2中。包含我的应用程序的文件wsgi_app.py存储在子文件夹webapp2中。一切正常。我提供这些信息,以防它可能发挥作用。
我遇到的问题是从库导入。 我在Django上做了它,现在尝试将它移动到webapp2。
我的程序的第一行看起来像这样:
import webapp2
import MySQLdb
import json
我有一个名为test.py的文件,其中包含一些classess和funtions。 它与wsgi_app.py位于同一文件夹中。 我想要包含它,但这似乎不起作用:
import webapp2
import MySQLdb
import json
from test import *
我的test.py包含类'Quote'的定义,但是当我调用页面时,我看到错误
NameError: global name 'Quote' is not defined
当我将文件test.py的内部放在wsgi_app.py文件中时,一切正常。 我的目标是将代码分成几个文件。
任何想法:
from test import *
不起作用? 它适用于我写的任何其他程序,为什么不在这里?
答案 0 :(得分:0)
问题解决了。
问题与weapp2无关,而与WSGI和python搜索文件的路径无关。 最简单的解决方案是添加这样的东西; 的execfile(" /srv/http/test.py") 它将导入文件。
除此之外,这里的文章相当不错 http://blog.dscpl.com.au/2014/09/python-module-search-path-and-modwsgi.html