Можете ли вы рекомендовать минималистический веб-сервер python, который я могу встроить в свое настольное приложение.Встроенный веб-сервер в Python?
ответ
Как минималистично и с какой целью?
SimpleHTTPServer поставляется бесплатно как часть стандартных библиотек Python.
Если вам нужно больше возможностей, просмотрите CherryPy или (на верхнем конце) Twisted.
См. Реализацию WSGI reference.
Если вы делаете много одновременных вещей, вы можете рассмотреть Kamaelia's HTTPServer.
Я становлюсь большим поклонником недавно выпущенной библиотеки circuits. Это компонент/среда событий, которая поставляется с очень хорошим набором пакетов для создания веб-серверов & приложений. Вот простой веб-пример с сайта:
from circuits.lib.web import Server, Controller
class HelloWorld(Controller):
def index(self):
return "Hello World!"
server = Server(8000)
server += HelloWorld()
server.run()
Поддержка WSGI не более сложна. Хорошая вещь.
Я нашел web.py довольно проста в использовании: http://webpy.org/
Если вы хотите использовать что-то из стандартной библиотеки я бы настоятельно рекомендовал не с помощью SimpleHTTPServer, но вместо того, чтобы с помощью wsgiref.simple_server
. SimpleHTTPServer неудобен и довольно бессмысленному способу реализации веб-приложения, и хотя сырой WSGI не очень легко (но, конечно, возможно), у вас есть возможность использовать любую основанную на WSGI фреймворк. Кроме того, если вы используете wsgiref, у вас будет возможность перейти на сервер, такой как CherryPy позже (обратите внимание, что сервер в CherryPy может использоваться отдельно от остальной части фреймворка, и вам нужен только one file только для сервера). Для «реального» веб-приложения у CherryPy есть несколько преимуществ по сравнению с wsgiref, но для локально размещенного приложения маловероятно, что любой из них будет иметь значение.
Если вы создаете настольное приложение, вам нужно будет запустить отдельный поток для wsgiref или CherryPy. Если все в порядке, то сервер WSGI, вероятно, будет проще всего. Если вы не хотите запускать отдельный поток для сервера, вам, скорее всего, придется использовать Twisted.
Спасибо за ссылку CherryPy – 2008-11-19 18:15:22
Я настоятельно рекомендую CherryPy; Я использовал его профессионально в течение многих лет и был очень доволен этим. – 2008-11-19 18:20:39
Настоятельно рекомендуем Twisted (или Kamaelia) над другими. Он знает, как интегрироваться с основными сетями UI, используемыми в настольных приложениях. – 2008-11-20 01:09:29