HTTP-сервер Python 3.6 недоступен при компиляции PyInstaller в WindowsPython

Программы на Python
Ответить
Anonymous
 HTTP-сервер Python 3.6 недоступен при компиляции PyInstaller в Windows

Сообщение Anonymous »

Я создал веб-сервер на Python 3.6, используя http.server.HTTPServer, http.server.SimpleHTTPRequestHandler и socketserver.ThreadingMixIn. Он работает как положено, и я могу получить доступ к веб-странице с любого устройства в локальной сети.

Я скомпилировал его с помощью PyInstaller, чтобы создать исполняемый файл Windows. Веб-страница работает с локальным хостом, но недоступна ни с одного устройства в локальной сети.

Я использовал nmap с другого устройства для сканирования компьютера, на котором размещен веб-сервер, и оказалось, что порт, используемый веб-сервером (8080) открывается, когда я запускаю свой скрипт в обычном режиме (с помощью интерпретатора Python), и все работает. Однако когда я использую исполняемый файл, созданный PyInstaller, порт не открывается и веб-страница недоступна.

Исполняемый файл не выдает никаких ошибок, и кроме этого все работает.

Я попробовал запустить .exe-файл от имени администратора и для этого отключил антивирус/брандмауэр. Это не работает.

Вот моя команда PyInstaller:

pyinstaller --runtime-tmpdir "" --onefile -i icon.ico script.py

А вот соответствующий код в моем файле Python:


import http.server
import socketserver

port = 8080

class ThreadingSimpleServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
pass #using this so the webserver can handle mutliple requests at a time

class myWebServer(http.server.SimpleHTTPRequestHandler):

def do_POST(self):
#does stuff

try:
server = ThreadingSimpleServer(('', port), myWebServer)
server.serve_forever()

except KeyboardInterrupt:
print('^C received, shutting down the program.')
server.socket.close()


Подробнее здесь: https://stackoverflow.com/questions/618 ... on-windows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»