Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t在Dreamhost共享主机上使用Passenger WSGI运行Flask_Python_Passenger_Flask_Shared_Dreamhost - Fatal编程技术网

Python Can';t在Dreamhost共享主机上使用Passenger WSGI运行Flask

Python Can';t在Dreamhost共享主机上使用Passenger WSGI运行Flask,python,passenger,flask,shared,dreamhost,Python,Passenger,Flask,Shared,Dreamhost,我正在尝试让Flask“hello world”应用程序在Dreamhost共享服务器上运行,但我没有任何运气 我的Flask应用程序是来自以下网站的“hello world”应用程序: 根据DH wiki的说明,我已经在一个名为“hello.py”的文件夹中找到了它。我的passenger_wsgi.py文件是: import sys, os INTERP = os.path.join(os.environ['HOME'], 'flask_env', 'bin', 'python') if s

我正在尝试让Flask“hello world”应用程序在Dreamhost共享服务器上运行,但我没有任何运气

我的Flask应用程序是来自以下网站的“hello world”应用程序:

根据DH wiki的说明,我已经在一个名为“hello.py”的文件夹中找到了它。我的passenger_wsgi.py文件是:

import sys, os
INTERP = os.path.join(os.environ['HOME'], 'flask_env', 'bin', 'python')
if sys.executable != INTERP:
    os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
from mysite import hello as application
我曾尝试在Python控制台中运行这些命令,但最后一行导入失败,直到我将
\uuuu init\uuuu.py
文件添加到mysite目录

当我尝试访问该网站时,我只收到一个500错误(不幸的是,日志中没有任何内容,除非它们在日志中,否则我无法访问,因为这是一个共享服务器…)


由于这是最基本的设置(即从wiki复制和粘贴),我忍不住觉得我错过了一些非常简单的东西。或者这在共享服务器上是不可能的?

回答我自己的问题是否意味着我在自言自语

不管怎样,我好像已经修好了。我没有找到一条有用的错误消息,而是一次一个地重复了所有步骤,结果发现这是
passenger\u wsgi.py
文件中的一个导入错误。由于应用程序位于
mysite
子目录中,因此行:

from mysite import hello as application
应该是(事实上,现在是):


它是有效的。这很好。

你放了hashbang吗?“have#!/usr/bin/python在文件的第一行”刚刚尝试了您的建议,可惜没有任何效果…+1。。。不,这只是意味着你正在帮助这个网站变得更好。谢谢你!这对我有用。我只需要将__init__;.py__u;文件添加到mysite目录,以便python将该目录视为包含包。这个解决方案真的很有帮助,尽管我还需要一个步骤才能让它工作:在passenger_wsgi.py文件中,我取消了调试行的注释:
#来自werkzeug.debug导入DebuggedApplication#application=DebuggedApplication(application,evalex=True)
这是有问题的,因为行没有正确缩进。如果要取消注释以启用调试,请确保删除两行之前的所有空格
from mysite import hello as application
from mysite.hello import app as application