在生产环境中部署时,Python flask没有返回正确的值

时间:2019-01-22 12:09:08

标签: python flask

我面临一个奇怪的问题。我有两个环境,一个是测试,另一个是生产。测试不过是localhost:5002,可以在我的笔记本电脑上运行。 生产为192.XXX.XXX.XX:5002

我有deploy.py文件在测试中运行得很好。但是当我在生产环境中部署时,同一个文件没有正确返回response函数值。此外,超链接也无法正常工作。以下是deploy.py用于生产的代码段。

def email_url(text):
    new_s = re.sub('[\w\.-]+@[\w\.-]+\.\w+', lambda x:f'<a href="mailto: 
    {x.group()}">{x.group()}</a>', text)
    new_s = new_s.replace('xx.yyyy.com','<a href = 
    "http://xx.yyyy.com:8080">xx.yyyy.com</a>')
    return new_s


@app.route('/response/',methods = ['GET','POST'])
def response():   
      #---code goes here----
      return email_url(resp) #resp is a string with few words are clickable
if __name__ == "__main__":
      print("**Starting Server...")

      app.run(host='0.0.0.0', port=5002, debug=True)

我期望测试和生产的email_url(resp)值相同。但是我变得与众不同。此外,超链接在测试中localhost:5002正常工作,但在生产192.xxx.xxx.xx:5002上无法正常工作

那么我在这里错过了什么?我正在使用Windows 8.1进行测试和生产。

1 个答案:

答案 0 :(得分:0)

所以我终于确定了这个问题。这是“确实”的版本问题。 Test的sklearn版本为0.20的模型和pickle文件,生产中为0.19。