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

cPanel中Python 3.11应用报错:passenger_wsgi模块未找到求助

问题原因
  • Python3模块导入规则限制:Python3不允许把带绝对路径和.py后缀的文件当作模块名导入,但cPanel的Passenger在Python3环境下错误地用这种方式加载passenger_wsgi.py,直接导致模块找不到。
  • 虚拟环境版本不匹配:日志里显示用的是Python3.10的虚拟环境,但你新建的是Python3.11应用,环境版本对不上也会引发加载异常。
  • 运行环境差异:bash里执行python -m passenger_wsgi能成功,是因为当前shell的Python环境已经把项目目录加入了模块搜索路径,而且用了正确的模块名(不带后缀)调用,但cPanel的Passenger运行环境的调用逻辑或路径配置有问题。
解决步骤
  1. 修正WSGI文件的调用配置

    • 打开cPanel的「Setup Python App」界面,找到你的应用配置,把「Application startup file」字段改成passenger_wsgi(不要带.py后缀,也不要写完整绝对路径)。
  2. 统一虚拟环境与应用的Python版本

    • 删除旧的3.10虚拟环境,重新创建3.11版本的:
      rm -rf /home/sulphur1/virtualenv/basic/3.10
      python3.11 -m venv /home/sulphur1/virtualenv/basic/3.11
      
    • 回到cPanel的Python应用配置,选择刚创建的3.11虚拟环境,重新部署应用。
  3. 调整模块搜索路径

    • 在passenger_wsgi.py的最开头加上这段代码,把项目根目录加入Python的模块搜索路径:
      import sys
      sys.path.insert(0, '/home/sulphur1/basic')
      
    • 如果是Django项目,还要确保文件里的Django配置正确:
      import os
      os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的项目名.settings')
      from django.core.wsgi import get_wsgi_application
      application = get_wsgi_application()
      
  4. 测试验证

    • 重启cPanel里的Python应用,查看日志是否还有报错。
    • 如果还是出问题,可以先把passenger_wsgi.py换成基础测试代码,确认环境能正常运行:
      def application(environ, start_response):
          start_response('200 OK', [('Content-Type', 'text/plain')])
          return [b"Python 3.11\nit works!"]
      
    • 测试成功后再恢复Django的配置内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:05:06