When I am running CherryPy Hello World:
import cherrypy
class HelloWorld:
def index(self):
return "Hello world!"
index.exposed = True
cherrypy.config.update({'server.socket_port': 8080,})
cherrypy.quickstart(HelloWorld())
... I get this: IOError: Port 8080 not bound on 'localhost'. What could it be?
I think I had a similar problem when I started using CherryPy... But I can't remember exactly what it was... But the fix involved using a config file instead of passing the configs by hand:
MyProj.conf:
[global] server.socket_host = "127.0.0.1" server.socket_port = 8080 server.thread_pool = 10
MyProj.py
import os
import cherrypy
class HelloWorld:
def index(self):
return "Hello world!"
index.exposed = True
# Assumes the config file is in the directory as the source.
conf_path = os.path.dirname(os.path.abspath(__file__))
conf_path = os.path.join(conf_path, "MyProj.conf")
cherrypy.config.update(conf_path)
cherrypy.quickstart(HelloWorld())
This definitely works here.
I'm using Python 2.6.1 and CherryPy 3.1.1 and I run the script with -W ignore
:
c:\My_path> python -W ignore MyProj.py
If you're under *nix, you should put the -W ignore
in the #!
comment at the top of the file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With