gpt4 book ai didi

python - 为什么改变环境和操作系统会改变 python flask 中的数据传输,为什么我应用的修复有效?

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:54 25 4
gpt4 key购买 nike

我在 flask 中创建了一个 REST API,并将其部署在运行 CentOS 6.9 和 Python 默认版本 3.6.4 的 Azure 服务器中。我只需要导入 flask 和 cors 包即可启动和运行所有内容。

现在,当我在运行 Ubuntu 16.04.3 且 Python 默认版本为 2.7.12 的 AWS 上部署相同内容时,问题开始出现。

flask接收到的作为数据库查询参数的字符串必须编码为UTF-8;同时,当参数从 flask 文件传递​​到其他导入模块(手动创建)时,它们被接收为 byte 数据类型,需要解码为 UTF-8。除此之外,我还必须在所有模块中使用 future 包才能使其正常工作。从 future 包中导入的是 -

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

from builtins import open
from builtins import str

我需要知道是什么坏了,为什么坏了,是如何修复的。

提前致谢。

最佳答案

这些错误的发生是因为 Python 语法在 python 2 中的使用方式以及它在 python 3 中的使用方式。您应该检查更改日志或 python 3 中的新功能 以获取全部更改。

print 函数曾经是一个语句。所以要打印,您必须执行以下操作:

print "hello world" # python 2.7
print("hello world") # python 3.7

string 对象是 Ascii 并且您有一个 Unicode 对象。所以如果你想在 Python 2 中使用 Unicode 字符串,你必须转换它们。现在,默认是Unicodebytearraybyte也存在。

您应该检查 python 2 和 3 的完整列表。

flask 另一方面,是一个与 python 2python 3 兼容的包,所以你没有任何问题使用 flask 代码,只有 python 3 的东西在 python 2 中不存在。

关于python - 为什么改变环境和操作系统会改变 python flask 中的数据传输,为什么我应用的修复有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51979692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com