我想尝试一个Flask minimal应用程序。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()它工作正常。如果我在run()之前添加app.debug = True,它不起作用。
错误是:
Traceback (most recent call last):
File "app.py", line 10, in <module>
app.run()
File "C:\Python34\lib\site-packages\flask\app.py", line 772, in run
run_simple(host, port, self, **options)
File "C:\Python34\lib\site-packages\werkzeug\serving.py", line 666, in run_simple
os.set_inheritable(s.fileno(), True)
OSError: [Errno 9] Bad file descriptor我使用的是Python 3.4.3、Flask 0.10.1、Werkzeug 0.11.1和Windows 10。使用或不使用virtualenv的行为是相同的。
发布于 2015-11-12 20:54:09
我在装有Python 3.4.2的Windows7上遇到了同样的问题。我最终不得不将Werkzeug从0.11.1版本降级到0.10.4。完全公开,我不是一个Python开发人员,因为我在日常工作中编写.NET,并且正在学习Python,所以我不能在这里完全解释原因。另外,我刚刚在Pypi上搜索"Werkzeug“选择了一个版本。如果您不知道,pypi.python.org是您的pip安装的源代码;-)。
为此,我最终卸载了Werkzeug,然后通过在pip中指定版本来重新安装它。这在我的全球环境和我的项目中的"virtualenv“中都有效。
pip uninstall Werkzeug
pip install Werkzeug==0.10.4编辑
下面是我的requirements.txt文件的内容。假设您的工作目录是requirements.txt所在的位置,并且您的virtualenv当前处于活动状态,您可以卸载已经安装的所有不同的软件包,并通过运行命令pip install -r requirements.txt来安装这些特定版本。在Windows中,如果需要,您可以使用相对路径:-)。
itsdangerous==0.24
Werkzeug==0.10.4
WTForms==2.0.2
SQLAlchemy==1.0.9
MarkupSafe==0.23
Jinja2==2.8
Flask==0.10.1
Flask-SQLAlchemy==2.1
Flask-WTF==0.10https://stackoverflow.com/questions/33633883
复制相似问题