端口80上的Socketerror

时间:2015-03-31 16:34:44

标签: python macos bottle

我在使用PyInstaller创建可运行的可执行文件时遇到问题。我已经能够使用Python和Bottle成功创建一个简单的Web服务器 - 但是当我使用PyInstaller创建可执行文件并单击它时 - 我得到以下输出:

Alans-MBP:~ alanscarpa$ /Users/alanscarpa/Desktop/testSite/dist/testing ; exit;
Bottle v0.13-dev server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:80/
Hit Ctrl-C to quit.

Traceback (most recent call last):
  File "<string>", line 10, in <module>
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/bottle", line 3093, in run
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/bottle", line 2692, in run
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/wsgiref.simple_server", line 151, in make_server
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/SocketServer", line 420, in __init__
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/wsgiref.simple_server", line 48, in server_bind
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/BaseHTTPServer", line 108, in server_bind
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/SocketServer", line 434, in server_bind
  File "/Users/alanscarpa/Desktop/testSite/build/testing/out00-PYZ.pyz/socket", line 224, in meth
socket.error: [Errno 13] Permission denied
logout

[Process completed] 

前三行是完美的 - 如果工作正常,它应该是怎样的:

  Bottle v0.13-dev server starting up (using WSGIRefServer())...
    Listening on http://0.0.0.0:80/
    Hit Ctrl-C to quit.

但是之后的一切都搞砸了我的计划!

这是我的Python文件,名为testing.py

#!/usr/bin/python    
from bottle import route, run, template


@route('/testing')
def index():
    return 'Hello..testing'

run(host='0.0.0.0', port=80, debug=True)

当我访问mylocalip / testing时 - 我的网页无法访问。但是如果我打开终端并写:sudo / path / to / testing - 它完美无缺。 (我显然希望能够将可执行文件发送给某人,他们只需单击它即可运行,而不必使用终端。)

有什么建议吗?

编辑:我将我的端口更改为8080并且它正在工作!有人知道为什么吗?

1 个答案:

答案 0 :(得分:1)

在大多数系统(至少BSD,OS X和Linux)上没有root权限的情况下,你无法监听1024以下的端口。