繁体   English   中英

PyV8与Flask崩溃

[英]PyV8 crashes with Flask

我正在尝试在Python(v2.7.3)上使用Flask(v0.10.1)运行PyV8(由pip,v1.0-dev安装),但是应用程序在创建Global上下文时崩溃,无法知道发生了什么错误的,因为没有异常被捕获。 这是我的代码:

from flask import Flask, request, Response
import PyV8

try:
    from flask.ext.cors import CORS
except ImportError:
    import os
    parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    os.sys.path.insert(0, parentdir)

    from flask.ext.cors import CORS

class Global(PyV8.JSClass):     
   def hello(self):
        print 'Hello'

app = Flask(__name__)
app.config['CORS_HEADERS'] = 'Content-Type'

CORS(app)

@app.route('/', methods=['GET'])
def index():
    try:
        print 'got to the route'
        g = Global()
        print 'Global was created'
        ctxt = PyV8.JSContext(g) 
        print 'context was created'
        ctxt.enter()
        print 'context was entered'                   
        ctxt.eval("hello()")            
    except Exception as e:
        print 'error'
        print 'exception occurred, value:', e.value 

if __name__ == '__main__':
    app.run(host='0.0.0.0') 

在崩溃之前向该应用程序触发GET时,我得到的输出是:

got to the route
Global was created

当我尝试在不使用Flask的情况下运行PyV8时,效果很好。 可能是什么原因?

我发现了导致问题的原因-CORS。 删除此部分后:

try:
    from flask.ext.cors import CORS
except ImportError:
    import os
    parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    os.sys.path.insert(0, parentdir)

    from flask.ext.cors import CORS

一切都按预期进行。 我仍然不确定造成崩溃的原因,这需要进一步调查,但是我决定暂时不使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM