在作为python程序运行时接收TypeError但在控制台上正常工作

时间:2017-12-03 00:57:22

标签: python python-3.x

我正在与第三方python library合作,它基本上允许某些加密操作。它正在按预期工作,因为我使用控制台测试方法(请参阅下面的代码)并正确返回值。

操作系统是Ubuntu 16.04 LTS

test@2c215fcff3bf:/# python3

Python 3.5.2
[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>>from phe import paillier
>>>public_key, private_key = paillier.generate_paillier_keypair() 
>>>secret_number_list = [3.141592653, 300, -4.6e-12]
>>>encrypted_number_list = [public_key.encrypt(x) for x in secret_number_list]
>>>encrypted_number_list[0]
<phe.paillier.EncryptedNumber object at 0x7ff56b695630>

现在,当我尝试使用相同的代码但使用Flask将其包装在RESTful API中时。它给了我错误&#34; TypeError:&#39; EncryptedNumber&#39;对象不可调用&#34;。我一定做错了什么但不明白是什么。

Sample.py
from phe import paillier
from flask import request, url_for
from flask_api import FlaskAPI, status, exceptions

app = FlaskAPI(__name__)


@app.route("/", methods=['GET', 'POST'])
def encrypt():

    public_key, private_key = paillier.generate_paillier_keypair()
    secret_number_list = [3.141592653, 300, -4.6e-12]
    encrypted_number_list = [public_key.encrypt(x) for x in     secret_number_list]
    if encrypted_number_list[0] is not None: 
       return "OK"

    return "FAIL"

0 个答案:

没有答案