我在使用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并且它正在工作!有人知道为什么吗?
答案 0 :(得分:1)
在大多数系统(至少BSD,OS X和Linux)上没有root权限的情况下,你无法监听1024以下的端口。