Как развернуть скрипт 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. раскрытие Я автор инструмента. Дайте мне знать, если вам нужна помощь в упаковке вашего скрипта.