Я пытаюсь запустить следующий скрипт HelloWorld в командной строке
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
from tornado.options import define, options
define("port", default=8888, help="run on the given port", type=int)
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def main():
tornado.options.parse_command_line()
application = tornado.web.Application([
(r"/", MainHandler),
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
main()
и я получаю следующую ошибку
File "helloworld.py", line 17, in ?
import tornado.httpserver
File "/home/username/public_html/tornado-1.2.1/tornado/httpserver.py", line 28, in ?
from tornado import ioloop
File "/home/username/public_html/tornado-1.2.1/tornado/ioloop.py", line 184
action if action is not None else signal.SIG_DFL)
^
SyntaxError: invalid syntax
Совершенно новый для Python
, может кто-нибудь объяснить, в чем проблема, на которую указывают? Постскриптум helloworld.py находится в каталоге /home/username/public_html/tornado-1.2.1/
, и в этом же каталоге находится подкаталог tornado
.
Редактировать: (игнорировать это редактирование сейчас)
Команда, которую я запускаю:
python helloworld.py
Результат python -V
равен
Python 2.4.3
К сожалению, Tornado не работает с версиями до 2.5, так что это может быть проблемой. Однако я установил Python 2.6.6. Как мне убедиться, что он работает с правильной версией Python, а не со старой?
РЕДАКТИРОВАТЬ II
Теперь я установил Python на 2.6.6
и работает
python helloworld.py
не производит никакого вывода. Программа просто зависает в командной строке.
Есть мысли здесь?