Вопрос

Можете ли вы порекомендовать минималистичный веб-сервер на Python, который я могу встроить в свое настольное приложение.

Это было полезно?

Решение

Насколько минималистичный и с какой целью?

SimpleHTTPServer поставляется бесплатно в составе стандартных библиотек Python.

Если вам нужны дополнительные функции, загляните в CherryPy или (в верхней части) Twisted .

Другие советы

Я становлюсь большим поклонником недавно выпущенных схем . библиотека. Это инфраструктура компонентов / событий, которая поставляется с очень хорошим набором пакетов для создания веб-серверов & amp; Программы. Вот простой веб-пример с сайта:

from circuits.lib.web import Server, Controller

class HelloWorld(Controller):
   def index(self):
      return "Hello World!"

server = Server(8000)
server += HelloWorld()
server.run()

Его поддержка WSGI тоже не сложнее. Хорошие вещи.

Если вы делаете много параллельных вещей, вы можете подумать о Камаэлии HTTPServer .

Я нашел, что web.py довольно прост в использовании: http://webpy.org/

Если вы хотите использовать что-то из стандартной библиотеки, я настоятельно рекомендую не использовать SimpleHTTPServer, а вместо этого использовать wsgiref.simple_server . SimpleHTTPServer - это неуклюжий и довольно бессмысленный способ реализации веб-приложения, и хотя необработанный WSGI не слишком прост (но, безусловно, возможен), у вас есть возможность использовать любую основанную на WSGI инфраструктуру поверх него. Также, если вы используете wsgiref, у вас будет возможность перейти на сервер типа CherryPy позже (обратите внимание, что сервер в CherryPy можно использовать отдельно от остальной части фреймворка, и вам нужно только один файл только для сервера). Для "реального" веб-приложение CherryPy имеет несколько преимуществ по сравнению с wsgiref, но для локально размещенного приложения маловероятно, что какое-либо из них будет иметь значение.

Если вы создаете настольное приложение, вам нужно запустить отдельный поток для wsgiref или CherryPy. Если это нормально, то сервер на основе WSGI, вероятно, будет проще всего. Если вы не хотите запускать отдельный поток для сервера, вам, скорее всего, нужно использовать Twisted.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top