启动乘客时缺少模块错误

问题描述

我正在使用passengerFlask REST API服务器上部署apache

这是我的Apache conf文件

<VirtualHost *:80>
    ServerName demo.app.com

    DocumentRoot /var/www/demo.app.com/backend # Backend is my venv
    PassengerAppRoot /var/www/demo.app.com/backend/public # Public is where my code lives

    PassengerPython /usr/bin/python3.8
    PassengerAppType wsgi
    PassengerStartupFile passenger_wsgi.py

    <Directory /var/www/demo.worxmanager.com/backend>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>

因此,我进入后端文件夹(venv容器)并执行以下命令:

. ./bin/activate

pip3 install -r ./requirements.txt

一切都成功安装。我进入public folder内部,然后进入app.py内部,编写以下代码

from flask import Flask
#I have more imports and routes,but didn't think they are relevant to my error.

@app.route('/api/user/register',methods=['POST'])
def register():
    return user.register(request)

if __name__ == '__main__':
    app.run()

最后,这是我的passenger_wsgi.py文件

from app import app as application

当我尝试run或转到demo.app.com时,出现以下错误

App 12676 output: /usr/share/passenger/helper-scripts/wsgi-loader.py:26: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
App 12676 output:   import sys,os,re,imp,threading,signal,traceback,socket,select,struct,logging,errno
App 12676 output: Traceback (most recent call last):
App 12676 output:   File "/usr/share/passenger/helper-scripts/wsgi-loader.py",line 369,in <module>
App 12676 output:     app_module = load_app()
App 12676 output:   File "/usr/share/passenger/helper-scripts/wsgi-loader.py",line 76,in load_app
App 12676 output:     return imp.load_source('passenger_wsgi',startup_file)
App 12676 output:   File "/usr/lib/python3.8/imp.py",line 171,in load_source
App 12676 output:     module = _load(spec)
App 12676 output:   File "<frozen importlib._bootstrap>",line 702,in _load
App 12676 output:   File "<frozen importlib._bootstrap>",line 671,in _load_unlocked
App 12676 output:   File "<frozen importlib._bootstrap_external>",line 783,in exec_module
App 12676 output:   File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
App 12676 output:   File "/var/www/demo.app.com/backend/public/passenger_wsgi.py",line 1,in <module>
App 12676 output:     from app import app as application
App 12676 output:   File "/var/www/demo.app.com/backend/public/app.py",in <module>
App 12676 output:     from Flabstraction.connect import *
App 12676 output:   File "/var/www/demo.app.com/backend/public/Flabstraction/connect.py",in <module>
App 12676 output:     from Flabstraction.Flabstraction import FlaskcfG,Pysqlalchemy
App 12676 output:   File "/var/www/demo.app.com/backend/public/Flabstraction/Flabstraction.py",line 2,in <module>
App 12676 output:     from flask import Flask
App 12676 output: ModuleNotFoundError: No module named 'flask'
[ E 2020-09-25 12:51:05.3383 12637/Tj age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/demo.app.com/backend/public: The application process exited prematurely.
  Error ID: 3611ba4d
  Error details saved to: /tmp/passenger-error-6RDF9C.html

[ E 2020-09-25 12:51:05.3535 12637/T9 age/Cor/Con/CheckoutSession.cpp:276 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is 3611ba4d. Please see earlier logs for details about the error.

这很奇怪,因为我在requirements和系统本身上都安装了所有venv

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)