【问题标题】:webapp2 - how do I include librarywebapp2 - 我如何包含库
【发布时间】:2017-10-08 15:08:23
【问题描述】:

我正在测试谷歌云,首先我想在我的电脑上开发一些东西,然后再在谷歌云上使用。 我正在使用 APACHE 并以这种方式配置它,当我转到页面 localhost/wsgi_app 时,我看到我的页面物理存储在文件夹 /svc/http/webapp2 中。包含我的应用程序的文件 wsgi_app.py 存储在子文件夹 webapp2 中。一切正常。我提供此信息以防万一它可能发挥任何作用。

我遇到的问题是从库中导入。 我是在 Django 上完成的,现在尝试将其移至 webapp2。

我的程序的第一行如下所示:

import webapp2
import MySQLdb
import json

我有一个名为 test.py 的文件,其中包含一些类和函数。 它与 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 *

不工作? 它适用于我编写的任何其他程序,为什么不在这里?

【问题讨论】:

    标签: python-2.7 webapp2


    【解决方案1】:

    问题已解决。

    问题与 weapp2 无关,而与 WSGI 和 python 搜索文件的路径有关。 最简单的解决方案是添加这样的东西; execfile("/srv/http/test.py") 它将导入文件。

    除此之外,这里是相当不错的文章 http://blog.dscpl.com.au/2014/09/python-module-search-path-and-modwsgi.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      相关资源
      最近更新 更多