本人从来没有接触过web编程,突然对这个产生了兴趣。本人之前学过一些Python语言,有点基础。看到网上有很多关于Python的网络开发的资料,于是想玩一玩。
我所了解的Python网络开发框架有django, webpy。由于本人在web上没有什么基础,于是决定从轻量级的webpy入手。
我这里下载了一个webpy的源码。解压源码包,发现里面有个setup.py,按照说明执行:
$ sudo python setup.py install
完成安装,很顺序。
然后,本人就找了一个简单的示例来试试。
创建一个文件叫:first_webpy.py,内容如下:
#!/usr/bin/env python
import web
urls = ('/(.*)', 'hello')
class hello:
def GET(self, name):
i = web.input(times = 1)
if not name :
name = 'world'
for c in xrange(int(i.times)):
print 'Hello, ' + name + '!'
app = web.application(urls, globals())
app.run()
然后执行这个文件:
$ python first_webpy.py 2008 #指定端口2008
然后我在本地机器上打开浏览器,在地址栏输入:http://192.168.1.103:2008/h
结果有点失望,显示的结果是:
终端显示为:
192.168.1.103:37506 - - [29/Jul/2014 23:22:26] "HTTP/1.1 GET /favicon.ico" - 500 Internal Server Error
http://0.0.0.0:2008/
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/web.py-0.37-py2.6.egg/web/application.py", line 237, in process
return p(lambda: process(processors))
File "/usr/lib/python2.6/site-packages/web.py-0.37-py2.6.egg/web/application.py", line 565, in processor
h()
File "/usr/lib/python2.6/site-packages/web.py-0.37-py2.6.egg/web/application.py", line 77, in reload_mapping
mod = __import__(module_name, None, None, [''])
File "/home/hevake_lcj/Workspace/Python/webpy/first_webpy.py", line 17, in <module>
app.run()
File "/usr/lib/python2.6/site-packages/web.py-0.37-py2.6.egg/web/application.py", line 313, in run
return wsgi.runwsgi(self.wsgifunc(*middleware))
File "/usr/lib/python2.6/site-packages/web.py-0.37-py2.6.egg/web/wsgi.py", line 54, in runwsgi
return httpserver.runsimple(func, validip(listget(sys.argv, 1, '')))
File "/usr/lib/python2.6/site-packages/web.py-0.37-py2.6.egg/web/httpserver.py", line 157, in runsimple
server.start()
File "/usr/lib/python2.6/site-packages/web.py-0.37-py2.6.egg/web/wsgiserver/__init__.py", line 1753, in start
raise socket.error(msg)
error: No socket could be created
192.168.1.103:37506 - - [29/Jul/2014 23:22:26] "HTTP/1.1 GET /favicon.ico" - 500 Internal Server Error
暂时还没有找到解决方案。
请问,这个为什么有出“No socket could be created”这种错误?