当前位置: 首页 > 知识库问答 >
问题:

Python 2.7.3:No module named

何修能
2023-03-14

我有一个烧瓶应用程序存在以下错误:

ImportError: No module named annotaria, referer: http://ltw1413.web.cs.unibo.it/

所以,我在Web服务器中的根是:

/主页/网页/ltw1413/html

在html文件夹中,我有:

  • 一个名为“annotaria”的文件夹

我的文件. wsgi是:

import sys
sys.path.insert(0, '/home/web/ltw1413/html')
from annotaria import app as application

在我的文件夹“annotaria”中,我有:

  • “静态”文件夹:在样式表和js中
  • “Templates”文件夹:在html中
  • “run.py”:我的应用程序所在的python文件

跑py是这样的:

from pydoc import html
from annotaria import app
from flask import Flask, render_template, redirect, request
import json
import urllib2
import urlparse
import re
import string
import os
from SPARQLWrapper import SPARQLWrapper, JSON
from rdflib import Graph, BNode, Literal, Namespace
from time import strftime
import urllib2
import BeautifulSoup

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')


@app.route('/index.html')
def reloader():
    return render_template('index.html')


# other app.route()...

if __name__ == '__main__':
    app.run(debug=True)

我如何找到解决方案?我的错误在哪里?

共有2个答案

长孙阳成
2023-03-14

其他人提到了个别错误,但了解大局会有所帮助。首先,让我们假设以下结构:

/home/web/ltw1413/html
- wsgi.wsgi
- annotaria/
  - __init.py__
  - run.py
  - static/
  - templates

就像克劳斯提到的那样,您需要\uu init\uuu。py告诉Python annotaria是一个有效的包。然后是你的wsgi。wsgi文件需要从运行模块导入应用程序:

from annotaria.run import app as application

您还需要从运行中删除此不必要的导入。py,因为您实例化了一个新的应用程序:

from annotaria import app

因为没有要导入的应用程序,所以您实例化了一个新的Flask应用程序。

最后,在开始部署应用程序之前,请确保该应用程序手动运行。

吕俊美
2023-03-14

在您的代码中,您还重新定义了app:您从annotaria导入它,然后在app=Flask(...中重新定义它。

 类似资料:

相关问答

相关文章

相关阅读