Je viens d'installer python 3.2.1 (32 bits) et cherrypy 3.2.1 (CherryPy-3.2.1.win32-py3.exe) sur ma boîte de Windows 7 et ont essayé l'exemple hello world (exécutée via PyScripter) mais elle se bloque après le message STARTED du bus Engine.Bonjour monde échoue
Si je tente de démarrer via le python.exe, je reçois le journal suivant:
C:\Program Files (x86)\Python32>python hello.py
[24/Jul/2011:16:24:03] ENGINE Listening for SIGTERM.
[24/Jul/2011:16:24:03] ENGINE Bus STARTING
CherryPy Checker:
The Application mounted at '' has an empty config.
[24/Jul/2011:16:24:03] ENGINE Started monitor thread 'Autoreloader'.
[24/Jul/2011:16:24:03] ENGINE Started monitor thread '_TimeoutMonitor'.
[24/Jul/2011:16:24:03] ENGINE Serving on 127.0.0.1:8080
[24/Jul/2011:16:24:03] ENGINE Bus STARTED
Exception in thread CP Server Thread-4:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 693, in read_request_headers
read_headers(self.rfile, self.inheaders)
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 202, in read_headers
raise ValueError("Illegal end of headers.")
ValueError: Illegal end of headers.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 1024, in communicate
req.parse_request()
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 578, in parse_request
success = self.read_request_headers()
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 696, in read_request_headers
self.simple_response("400 Bad Request", ex.args[0])
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 840, in simple_response
status = str(status)
TypeError: 'tuple' object is not callable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python32\lib\threading.py", line 736, in _bootstr
ap_inner
self.run()
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 1174, in run
conn.communicate()
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 1080, in communicate
req.simple_response("500 Internal Server Error", format_exc())
File "C:\Program Files (x86)\Python32\lib\site-packages\cherrypy\wsgiserver\ws
giserver3.py", line 840, in simple_response
status = str(status)
TypeError: 'tuple' object is not callable
Qu'est-ce que je manque?
code:
import cherrypy
class HelloWorld:
def index(self):
return "Hello world"
index.exposed = True
cherrypy.quickstart(HelloWorld())
EDIT: Bonus-info: Je l'ai essayé différentes choses pour remédier à la situation sans résultat. L'installation de la version 64 bits de python n'a pas aidé car cherrypy ne supporte pas 64 bits (à moins, je me trompe). J'ai essayé de réinstaller les paquets python et cherrypy, et j'ai essayé de désactiver toutes les autres choses qui pourraient le bloquer (IIS). Tous en vain :-(
EDIT2: Deuxième bonus - tout fonctionne si je l'installe avec python 2.7.2, donc il semble que ce n'est qu'un problème avec 3.x (j'ai aussi essayé 3.0.1 - même problème)
Puisqu'il fonctionne en python 2.7.2 - aucune suggestion n'est vraie. – Goblin
en python 3, ils ont séparé binaire et texte, c'est pourquoi il y a un problème dans WSGI et python 3, donc je pense que c'est le problème http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface#WSGI_and_Python_3 ne sais pas si ce problème a été résolu, puisque je commence juste en python 3 et internet .... – Abdelouahab
Ahh merci! Cela semble raisonnable - je viens de commencer avec python3 et web aussi :-) J'espère qu'ils seront corrigés car cherrypy est le seul web-module qui tourne actuellement python3.x ... – Goblin