1

我在这里遵循说明:http: //flask.pocoo.org/snippets/65/

但是有些东西写的不是很清楚。

所以我的结构是这样的:

/<username>/webapps/flask/
----__init__.py
/<username>/webapps/flask/htdocs/
----index.py
----config.py
----/app/     (this is my flask application where i have views.py).
----/tmp/

我的__init__.py:

class WebFactionMiddleware(object):
    def __init__(self, app):
        self.app = app
    def __call__(self, environ, start_response):
        environ['SCRIPT_NAME'] = '/app'
        return self.app(environ, start_response)

app.wsgi_app = WebFactionMiddleware(app.wsgi_app)

我的index.py:

从烧瓶导入应用程序作为应用程序

我的httpd.conf:

WSGIPythonPath /home/<username>/webapps/flask/htdocs/
#If you do not specify the following directive the app *will* work but you will
#see index.py in the path of all URLs
WSGIScriptAlias /app /home/<username>/webapps/flask/htdocs/index.py

<Directory /home/<username>/webapps/flask/htdocs>
    AddHandler wsgi-script .py
    RewriteEngine on
    RewriteBase /app
    WSGIScriptReloading On
</Directory>

我从控制面板安装为“wsgi 3.4/Python2.7”,但我必须使用easy-install2.6安装SSH SQLAlchemy、flask-login等,因为easy-install2.7不存在。

服务器错误日志说:

 from flask import app as application
[Sun Nov 04 23:29:12 2012] [error] [client 127.0.0.1] ImportError: No module named flask

(我确实重启了apache2)

4

2 回答 2

1

好吧,错误消息清楚地表明您没有安装 Flask。如果您像 Python 2.7 一样在 webfaction 控制面板中创建了应用程序,那么您还需要为 Python 2.7 安装所有库和 Flask 本身。你说你用easy_instal2.6安装了所有东西,所以这意味着你为Python 2.6安装了所有东西。

我会说首先为 Python 2.7 安装所有的 libs 和 deps(flask),然后再试一次。另外我建议开始使用virtualenv,因为它有助于以后不要弄乱软件包版本(一些关于如何在webfaction上使用virtualenv部署的简短信息http://manavgoel.net/blog/post/2012/7/Deploying-烧瓶-网站-on-webfaction)。

于 2012-11-05T08:03:18.133 回答
0

查看https://community.webfaction.com/questions/12718/installing-flask

确保相应地遵循链接中的步骤。对于第 2 步,有很多方法可以通过。但我希望你这样做。

一个。首先将其复制到文本编辑器中并更改 APPNAME = "urflaskname" 请 unix 区分大小写。

湾。之后将文件保存为 anyname.sh(unix 脚本)

C。传输到服务器并运行

chmod a+x anyname.sh

d。然后现在在服务器上运行它来安装flask并让你为网络做好准备

./anyname.sh

一切都完成了。

您也可以直接按照步骤操作,但为了确保一切正义,请尝试仅复制和编辑 APPNAME

于 2014-04-07T08:58:16.390 回答