You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PythonAnywhere上wsgi.py配置问题求助及SQLAlchemy疑问

Flask应用部署问题修复方案

1. 修复wsgi.py核心配置错误

你的wsgi.py存在3个关键错误,直接引发了NameError和TypeError:

错误点1:sys.path添加文件而非目录

当前代码将path设为app.py文件路径,但sys.path需要添加的是项目根目录,修改如下:

path = '/home/alinecatikoc/flaskai'
if path not in sys.path:
   sys.path.insert(0, path)  # 用insert(0)确保优先加载该目录

错误点2:load_dotenv路径错误

project_folder误用了文件路径,应替换为项目目录:

project_folder = os.path.expanduser('/home/alinecatikoc/flaskai')
load_dotenv(os.path.join(project_folder, '.env'))

错误点3:应用实例导入与赋值错误

当前代码导入后冗余赋值导致未定义错误,正确导入应为从app.py模块加载Flask实例:

from app import app as application  # 直接从app.py导入实例
# 删除多余的application = app语句

修复后的完整wsgi.py:

import sys
path = '/home/alinecatikoc/flaskai'
if path not in sys.path:
   sys.path.insert(0, path)

import os
from dotenv import load_dotenv
project_folder = os.path.expanduser('/home/alinecatikoc/flaskai')
load_dotenv(os.path.join(project_folder, '.env'))

from app import app as application

2. 清理冗余环境文件

项目目录中存在.env和.emv两个文件,删除.emv避免环境变量加载混淆。

3. 验证SQLAlchemy与数据库

检查数据库URI配置

确保app.py中SQLAlchemy的数据库路径正确:

# 相对路径(推荐,适配项目目录)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///aiusers.db'
# 或绝对路径(避免路径解析问题)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////home/alinecatikoc/flaskai/aiusers.db'

测试数据库连接

在PythonAnywhere控制台执行以下命令验证:

cd /home/alinecatikoc/flaskai
python3

进入Python交互环境后测试:

from app import db
db.create_all()  # 无报错则连接正常

4. 重启应用

修改配置后,在PythonAnywhere的「Web」页面点击「Reload」按钮使配置生效。

内容的提问来源于stack exchange,提问作者alneckoc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 06:21:57