Как развернуть скрипт python?
Это может показаться очень открытым вопросом, но я энтузиаст python и довольно новичок в этом мире развития. Я разработал скрипт python, который берет вход и дает результат на основе алгоритма, который я установил в сценарий. Я хочу использовать этот скрипт и упаковать его таким образом, чтобы его могли использовать конечные пользователи, не имеющие технического мышления, и они касаются только вводимых им данных и результатов, которые они получают.
Я использовал Jupyter Notebook для разработки этого сложного кода, и я хочу знать, как я могу упаковать или развернуть этот код, чтобы конечный пользователь мог его использовать, не видя, как он работает, поскольку он может быть для них подавляющим.
Может ли кто-нибудь помочь мне с идеей о том, как это сделать? Было бы предпочтительным то, что является Opensource.
Спасибо
Ответы
Ответ 1
Я хочу округлить этот вопрос, предложив несколько способов развертывания Python Script или Models:
- Докер. Это один из самых популярных способов размещения сценариев и развертывания моделей машинного обучения в Интернете. Вы можете использовать Docker для контейнеризации кода и размещения его в качестве микросервиса с использованием различных приложений.
- PEX: PEX - это умный инструмент, разработанный в Twitter, который позволяет отправлять код Python в виде исполняемых zip файлов.
- AWS. Используя AWS, вы можете создать бесплатную учетную запись и начать работу с хостингом/развертыванием. Много ресурсов доступно онлайн.
- PYSimple, Pyinstaller и Sparrow: как уже упоминалось в ответах выше, мы можем использовать эти пакеты также для выполнения этой задачи. Пожалуйста, прочитайте выше.
- Приложение Flask: Если вы не хотите использовать Docker, с помощью простого приложения Flask вы сможете разместить свой скрипт в Интернете. Но там будет много вопросов, так как он не в контейнере. Лучше всего использовать Docker.
- py2exe: если вы хотите преобразовать файл python в исполняемый файл windows, нажмите здесь
- cx_Freeze: аналогично py2exe, вы также можете использовать это
Я буду продолжать добавлять больше контента по мере их нахождения, но я думаю, что лучший способ сделать это с помощью DOCKER. Надеюсь это поможет.
Ответ 2
PyInstaller является мощным открытым исходным кодом инструмент для кросс-платформенной развертывания/распределения питона проекта.
* Примечание. Хотя у меня нет опыта в распространении Jupyter Notebook с PyInstaller, но, похоже, это правдоподобно с этим руководством.
Установить через pypi:
pip install pyinstaller
Распространение кода без консоли может быть простым:
pyinstaller --noconsole script.py
Затем вы можете найти свой.exe(Window) в папке dist вашего рабочего каталога.
Ответ 3
Вы хотите "развернуть" свой код Python для пользователей дружественным образом. Я предполагаю, что это означает GUI.
Один из способов сделать это - сделать вашу программу Python графическим интерфейсом, когда она выполняется. Если у вас установлен Python в своей системе и связанные с ним файлы.py, то ваши пользователи смогут дважды щелкнуть ваш.py файл, и он будет работать так, как будто они нажали на.EXE.
Ваши потребности в GUI кажутся минимальными. Недавно был выпущен новый пакет PySimpleGUI, который обеспечивает то, что вы ищете. Ознакомьтесь с этой статьей, чтобы узнать, подходит ли она тому, что вы ищете. https://opensource.com/article/18/8/pysimplegui
Один из участников пакета PySimpleGUI обнаружил, что можно создать один файл.EXE, чтобы он выглядел так, как будто программа Python похожа на другие программы Windows, потому что она запускается прямо в графический интерфейс.
Для этого используйте пакет PyInstaller, как указано в другом ответе.
pyinstaller -wF your_PySimpleGUI_based_program.py
Ответ 4
Предполагая, что у вас нет GUI, я бы использовал пакетный (.bat) файл для вызова скрипта с предоставленными входами.
your_script.bat:
set VAR_1=this
set VAR_2=that
python your_script.py %VAR_1% %VAR_2%
Затем извлеките эти аргументы в скрипте python через
sys.argv[0] sys.argv[1]
Для конечных пользователей это всего лишь двойной щелчок!
Надеюсь, вы получили идею
Ответ 5
Используйте воробья, чтобы доставить ваш скрипт конечным пользователям. Он отлично работает с скриптами Python.
В основном вы просто объявляете свои требования в файле requirements.txt
и называете свой скрипт как story.py
, вы можете обрабатывать входные параметры внутри скрипта следующим образом:
from outthentic import *
foo = config()['main']['foo']
bar = config()['main']['bar']
Затем вы загружаете свой скрипт в SparrowHub:
$ nano sparrow.json
{
"name": "my-script",
"version": "0.1.0",
"description" : "this is my script",
}
$ ls -1
story.py
requirements.txt
sparrow.json
$ sparrow plg upload
Наконец, конечные пользователи просто используют ваш скрипт как:
$ sparrow plg install my-script
$ sparrow plg run my-script --param main.foo=1 --param main.bar=2
PS. раскрытие Я автор инструмента. Дайте мне знать, если вам нужна помощь в упаковке вашего скрипта.