ошибка с модулем веб-браузера при развертывании моего приложения на heroku - PullRequest
0 голосов
/ 09 июля 2020

Я пытался развернуть свое веб-приложение на Heroku, и я использовал модуль webbrowser для открытия ссылки при нажатии кнопки, но развертывание не удалось с этой ошибкой:

ERROR: Could not find a version that satisfies the requirement webbrowser (from -r/tmp/build_1a0f381f625ed056f039e4b30415d590/requirements.txt (line 7)) 
(from versions: none)
   ERROR: No matching distribution found for webbrowser (from -r /tmp/build_1a0f381f625ed056f039e4b30415d590/requirements.txt (line 7))
 !     Push rejected, failed to compile Python app.
 !     Push failed

Вот файл requirements.txt:

joblib>=0.14.0
numpy>=1.9.2
matplotlib>=1.4.3
pandas>=0.19
streamlit
scikit-learn==0.22.1
webbrowser

И вот как я использую webbrowser:

import webbrowser

webbrowser.open('URL')

Когда я развертывал приложение без упоминания webbrowser в файле requirements.txt приложение было успешно развернуто, но функция открытия URL-адреса при нажатии кнопки не работала.

1 Ответ

1 голос
/ 10 июля 2020

Модуль webbrowser является частью стандартной библиотеки Python . Вам не нужно (и не может ) устанавливать его через pip, поэтому он не принадлежит вашему requirements.txt. Уберите его.

Теперь, когда ваше развертывание работает, нам нужно решить настоящую проблему: вы не можете открыть браузер с webbrowser на Heroku. Код Python работает на сервере , а не на клиенте. Если при этом что-то произойдет, браузер откроется на машине где-нибудь в центре обработки данных AWS, а не на клиентской машине.

Я не уверен, как вы подключили свою кнопку к серверной части , но JavaScript может открыть windows на стороне клиента .

Будьте осторожны при этом, так как всплывающие окна имеют очень плохая репутация и они обычно не нравятся пользователям. Более того, многие браузеры теперь имеют защиту от этого; вашим пользователям, вероятно, придется одобрить всплывающее окно. Я настоятельно рекомендую найти другое решение, которое не связано с созданием нового браузера windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...