基础服务器正在运行玻璃框架时关闭

2024-03-28 10:49:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Glass框架的新手,我在我的ubuntu系统中安装了Glass服务器,当我运行示例测试应用程序时,它的返回值是“关闭” 错误我如何解决这个问题,我已经尝试了不同的端口号,但相同的问题。在

在测试.py在

#!/usr/bin/env python
from glass.HTTPServer import test
try:
  print "Use Control-C to exit.  In Windows, use Control-Break."
  test()
except keyboardInterrupt:
  pass

当我运行这段代码时,我遇到了如下错误

^{pr2}$

Tags: pytest服务器框架应用程序示例ubuntuusr
2条回答

我没能解决这个问题,但是这个框架看起来真的很旧。我可以重新检测到最简单的HTTP服务器,而且也很简单:

Python 3(首选)使用http.server

import http.server
import socketserver

PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(('', PORT), Handler)
print('serving at port', PORT)
httpd.serve_forever()

Python 2使用SimpleHTTPServer

^{pr2}$

在对框架代码进行了一些研究之后,我发现了下一个:

包中的HTTPServer是一个自定义的HTTPServer,它有一个__getattr__内置集,当访问一个不“is_secure”的属性时,它会出现异常。在

# Code from HTTPServer.py
def __getattr__(self, attr):
    if attr == "is_secure":
        return getattr(self.servertype.create_socket, "is_secure", False)
    raise AttributeError(attr)  # This is the buggy statement

因此,在普通情况下,任何被访问的HTTPServer属性(除了“is_secure”)都将不可避免地引发异常。在

我想你有三个选择:

  1. 固定测试功能,使其正常工作
  2. 在不使用测试函数的情况下继续工作,并尝试使框架正常工作
  3. 遵循Tiger-222解决方案并坚持使用SimpleHTTPServer

相关问题 更多 >