Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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 使用twistd展开烧瓶_Python_Flask_Wsgi_Twistd - Fatal编程技术网

Python 使用twistd展开烧瓶

Python 使用twistd展开烧瓶,python,flask,wsgi,twistd,Python,Flask,Wsgi,Twistd,以下是在twistd下部署flask应用程序的说明 twistd web --wsgi myproject.app 我有一个foo.py看起来像这样 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == "__main__": app.run(host="0.0.0.0", port=8080

以下是在twistd下部署flask应用程序的说明

twistd web --wsgi myproject.app
我有一个foo.py看起来像这样

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)
twistd web --wsgi foo.app
所以我希望能在这样的扭曲下运行

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)
twistd web --wsgi foo.app
但是twistd不喜欢这样(只是吐出帮助文本)

我做错了什么

顺便说一句,如果我在virtualenv(我在其中安装了flask和twisted)中运行此命令很重要,那么当我发出twistd命令时,当前目录包含foo.py


编辑:我使用的twistd版本是18.7.0


我没有注意到(直到Peter Gibson的评论提示我)在帮助文本出现后,会出现消息“没有这样的WSGI应用程序:'foo.app'”。

您需要将当前目录添加到PYTHONPATH环境变量中。试一试

PYTHONPATH=. twistd web --wsgi foo.app

您使用的是哪个版本的twistd/twisted?在帮助文本之后是否出现错误,例如“没有这样的WSGI应用程序”?感谢您的回复。我已经更新了问题以回答您的问题。谢谢。我以前从未见过像这样的bash命令-我应该完全按照这里所示使用它?这种语法只修改当前命令的PYTHONPATH。或者,您可以
导出PYTHONPATH=$PYTHONPATH:。
,它将在该会话中保持不变,并且还将当前目录
附加到PYTHONPATH,而不是覆盖它(假设您的.bashrc中有其他PYTHONPATH自定义),这非常感谢。我从来不知道你可以只为那个命令修改PYTHONPATH。谢谢你的帮助,它正在工作。