在访问默认页面时,Bottle App给出内部服务器错误

问题描述

我刚开始使用Bottle。我在GitHub上有一个示例应用程序。主模块app.py(位于“应用程序”文件夹中)如下所示

"""
This script runs the application using a development server.
"""

import bottle
import os
import sys

# routes contains the HTTP handlers for our server and must be imported.
import routes

if '--debug' in sys.argv[1:] or 'SERVER_DEBUG' in os.environ:
    # Debug mode will enable more verbose output in the console window.
    # It must be set at the beginning of the script.
    bottle.debug(True)

def wsgi_app():
    """Returns the application to make available through wfastcgi. This is used
    when the site is published to Microsoft Azure."""
    return bottle.default_app()

if __name__ == '__main__':
    PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
    STATIC_ROOT = os.path.join(PROJECT_ROOT,'static').replace('\\','/')
    HOST = os.environ.get('SERVER_HOST','localhost')
    try:
        PORT = int(os.environ.get('SERVER_PORT','5555'))
    except ValueError:
        PORT = 5555

    @bottle.route('/static/<filepath:path>')
    def server_static(filepath):
        """Handler for static files,used with the development server.
        When running under a production server such as IIS or Apache,the server should be configured to serve the static files."""
        return bottle.static_file(filepath,root=STATIC_ROOT)

    # Starts a local test server.
    bottle.run(server='wsgiref',host=HOST,port=PORT)

Requirements.txt文件具有

bottle
gunicorn

作为依赖项。我正在使用Python 3.7.2。运行pip install -r requirements.txt后,

我运行了pythonapp.py。服务器启动,我可以访问默认页面而不会出现错误错误

我尝试如下使用gunicorn运行服务器

gunicorn -w 2 -b 0.0.0.0:8080 app:wsgi_app    

服务器启动正常,但是当我访问默认页面时,我得到了

Traceback (most recent call last):
  File "/Users/<user>/Codebase/test-bottle/venv/lib/python3.8/site-packages/gunicorn/workers/sync.py",line 134,in handle
    self.handle_request(listener,req,client,addr)
  File "/Users/<user>/Codebase/test-bottle/venv/lib/python3.8/site-packages/gunicorn/workers/sync.py",line 175,in handle_request
    respiter = self.wsgi(environ,resp.start_response)
TypeError: wsgi_app() takes 0 positional arguments but 2 were given

请让我知道我做错了什么。

解决方法

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

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

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