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

PythonAnywhere中Flask应用无法导入虚拟环境包的问题

解决PythonAnywhere上Flask应用WSGI运行的导入错误

核心原因

WSGI脚本未正确加载你的虚拟环境,导致运行时使用了PythonAnywhere的全局Python环境,而非你配置的flaskenv虚拟环境,这才引发了包找不到、版本不兼容的问题。你的__init__.py采用Flask推荐的应用工厂模式(create_app)是完全正确的,不是问题根源。

修复步骤

1. 修改WSGI脚本,强制加载虚拟环境

替换原WSGI脚本内容为以下代码,确保先激活虚拟环境,再加载项目:

import sys
import os

# 激活虚拟环境
venv_path = '/home/SpaceMeerkat/.virtualenvs/flaskenv'
activate_this = os.path.join(venv_path, 'bin/activate_this.py')
with open(activate_this) as file_:
    exec(file_.read(), dict(__file__=activate_this))

# 添加项目根目录到路径
project_path = '/home/SpaceMeerkat/4211-IOMS/thredspace'
if project_path not in sys.path:
    sys.path.append(project_path)

# 导入并初始化应用
from __init__ import create_app
app = create_app()

2. 验证虚拟环境依赖

确保所有依赖都安装在虚拟环境中:
激活虚拟环境后执行:

pip install flask flask-cors pandas werkzeug==2.3.7 flask==2.1.3

确认依赖版本和你本地测试时一致。

错误解释

  • url_quote导入错误:全局环境的Werkzeug版本和Flask不兼容,加载虚拟环境后会使用你指定的兼容版本,该错误自动消失。
  • pandas找不到:全局Python环境未安装pandas,虚拟环境加载后就能找到你在虚拟环境中安装的pandas。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:05:25