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

PythonAnywhere如何配置pythonanywhere_com_wsgi.py运行纯Python应用

WSGI文件正确配置方法

把你站点对应的???_pythonanywhere_com_wsgi.py文件原有内容全部删除,替换为如下代码,注意将代码中所有的???替换为你PythonAnywhere的实际用户名:

import sys

# 加入你的项目路径
project_path = '/home/???/site'
if project_path not in sys.path:
    sys.path.insert(0, project_path)

def application(environ, start_response):
    path = environ.get('PATH_INFO', '').lstrip('/')
    # 匹配请求路径对应的脚本
    if path == '' or path == 'menu.py':
        # 导入menu模块执行逻辑,函数名替换为你menu.py里实际输出内容的函数
        from menu import get_menu_content
        status = '200 OK'
        content = get_menu_content()
    # 如果不需要对外暴露db相关路径,可以删除下面这个判断分支
    elif path in ['db1.py', 'db2.py', 'db3.py']:
        status = '200 OK'
        module_name = path.rstrip('.py')
        exec(f'from {module_name} import get_content')
        content = get_content()
    else:
        status = '404 NOT FOUND'
        content = 'Page not found.'
    
    response_headers = [('Content-Type', 'text/html; charset=utf-8'), ('Content-Length', str(len(content.encode('utf8'))))]
    start_response(status, response_headers)
    return [content.encode('utf8')]

生效操作

修改完配置文件后,进入PythonAnywhere的Web管理面板,点击对应站点的Reload按钮,配置即可生效。

补充说明

  • 如果你原来的py文件是直接print输出内容的,需要改成返回字符串的函数形式,适配WSGI的返回规则
  • 如果你只想对外暴露menu.py的功能,删除配置中db相关的判断分支即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:36:02