Я создал веб-сервер на 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
HTTP-сервер Python 3.6 недоступен при компиляции PyInstaller в Windows ⇐ Python
Программы на Python
1735157897
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()
Подробнее здесь: [url]https://stackoverflow.com/questions/61836481/python-3-6-http-server-not-reachable-when-compiled-by-pyinstaller-on-windows[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия