首页 > 解决方案 > Flask 站点在本地加载但在生产中失败 (PythonAnywhere)

问题描述

是的,我检查了 PythonAnywhere 的 errorimportingdebugging 网页。

该站点在本地运行,但在生产中失败。

标签: flaskpythonanywhere

解决方案


如果我正确理解您的目录结构,您想eAbsentee.admin/home/eabsenteeproject/eAbsentee/eAbsentee/admin. 但是,Python 会将当前工作目录放在系统路径的开头,并且工作目录将是您在 PythonAnywhere 上的主目录(除非您在“Web”页面上进行了不同的配置),因此在尝试解析模块名称eAbsentee时将首先查找一个名为/home/eabsenteeproject/eAbsentee. 因为它存在,所以它不会进一步搜索该模块,并会尝试admin在其中找到,这将失败。那时你会得到那个错误。

最好的解决方案是确保您的源代码目录位于系统路径中的工作目录之前——在 WSGI 文件中通过替换以下内容来做到这一点:

sys.path.append(path)

...有了这个:

sys.path.insert(0, path)

推荐阅读