Python Flask应用程序在与cx\ U freeze捆绑后根据请求挂起

Python Flask应用程序在与cx\ U freeze捆绑后根据请求挂起,python,python-2.7,flask,cx-freeze,Python,Python 2.7,Flask,Cx Freeze,我已经用Python制作了一个Flask应用程序,我想把它转换成一个用于分发的exe,为此我尝试使用cx\U freeze 当我从Python或Pycharm运行应用程序时,它工作得非常好,但在我将其打包后,每个请求都会挂起(在chrome中旋转)。我试着调试它,结果创建了一个新的flask应用程序,只有一个路由,没有其他依赖项,同样的事情也发生了 这是我制作的测试应用程序(testapp/app.py): 它的setup.py: from setuptools import find_pack

我已经用Python制作了一个Flask应用程序,我想把它转换成一个用于分发的exe,为此我尝试使用cx\U freeze

当我从Python或Pycharm运行应用程序时,它工作得非常好,但在我将其打包后,每个请求都会挂起(在chrome中旋转)。我试着调试它,结果创建了一个新的flask应用程序,只有一个路由,没有其他依赖项,同样的事情也发生了

这是我制作的测试应用程序(
testapp/app.py
):

它的
setup.py

from setuptools import find_packages
from cx_Freeze import setup, Executable

setup(
    name='testapp',
    description='Test Flask App',
    packages=find_packages(),
    include_package_data=True,
    zip_safe=False,
    install_requires=[
        'Flask',
        'waitress',
    ],
    options={
        "build_exe": {
            "packages": [
                "flask",
                "waitress",
                "threading",
                "os",
            ],
            'include_msvcr': True,
        }
    },
    executables=[
        Executable(
            "run.py",
            icon="icon.ico",
        )
    ]
)
还有
run.py
,它是我的入口点

from testapp.app import webapp
import sys
import waitress

if __name__ == "__main__":
    PORT = sys.argv[1] if len(sys.argv) > 1 else 8080
    waitress.serve(webapp, port=PORT)
我已经读了一些其他的问题,但它似乎总是最终成为一个模板问题,但这个应用程序没有使用模板,我的真实应用程序也没有

当我正常运行它时,我会得到下面的输出,页面会对我说“你好”

当我将其作为exe运行时,我会得到相同的控制台输出,但页面只是挂起

我使用的是
flask==0.12
cx-Freeze==5.0.1

关于如何调试这个有什么想法吗

编辑:

我注意到,在构建期间,我会收到很多关于缺少包的警告,但是如果我尝试将这些包添加到我的
setup.py
,cx\U freeze会抛出无法导入它们的错误。但如果我无法导入它们,而我的应用程序显然需要它们,它是否应该无法正常运行

列表有点长,所以它在一个

中,这最终是一个在cx\u Freeze
5.0.1中的
,它现在被补丁在cx\u Freeze
5.0.2中

这最终是一个在cx\u Freeze
5.0.1中的
,它现在被补丁在cx\u Freeze
5.0.2中

from testapp.app import webapp
import sys
import waitress

if __name__ == "__main__":
    PORT = sys.argv[1] if len(sys.argv) > 1 else 8080
    waitress.serve(webapp, port=PORT)
Serving on http://Desktop-PC:8080
home