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

在PythonAnywhere部署changedetection时遇WSGI AttributeError错误求助

解决PythonAnywhere托管changedetection.io时的X509_V_FLAG_NOTIFY_POLICY错误

错误原因

这个AttributeError是pyOpenSSL版本与PythonAnywhere系统底层OpenSSL不兼容导致的:高版本pyOpenSSL引入了X509_V_FLAG_NOTIFY_POLICY常量,但PythonAnywhere服务器的系统OpenSSL版本偏旧,不支持该特性。

解决步骤

1. 降级pyOpenSSL到兼容版本

在PythonAnywhere的控制台中执行以下命令,安装适配旧版OpenSSL的pyOpenSSL版本:

pip install pyopenssl==23.2.0 --user

如果使用虚拟环境,先激活环境再执行该命令。

2. 确保WSGI文件路径配置正确

在你的WSGI文件(/var/www/michaelhowardsandiego_pythonanywhere_com_wsgi.py)开头添加用户site-packages路径,确保程序能找到正确的依赖:

import sys
# 将用户目录下的site-packages加入路径
sys.path.insert(0, '/home/michaelhowardsandiego/.local/lib/python3.10/site-packages')

3. 推荐使用虚拟环境隔离依赖(可选但更稳定)

为了避免全局包冲突,建议用虚拟环境安装changedetection.io:

  • 创建虚拟环境:
    mkvirtualenv --python=/usr/bin/python3.10 changedetect-env
    
  • 激活环境后安装程序:
    pip install changedetection.io
    
  • 在WSGI文件中添加虚拟环境激活代码:
    # 激活虚拟环境
    activate_this = '/home/michaelhowardsandiego/.virtualenvs/changedetect-env/bin/activate_this.py'
    with open(activate_this) as file_:
        exec(file_.read(), dict(__file__=activate_this))
    
    # 导入应用
    from changedetectionio import app as application
    

4. 重启Web应用

在PythonAnywhere的Web应用控制面板中,点击"Reload"按钮,让配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 07:31:18