web-dev-qa-db-ja.com

pythonスクリプト?

これは非常に開かれた質問のように聞こえるかもしれませんが、私はpython愛好家であり、この開発の世界ではかなり新しいです。私はpythonスクリプトこのスクリプトを使用し、技術的な考え方を持たないエンドユーザーのみが使用できるようにパッケージ化したいと思います。彼らが与える入力と彼らが得る出力で。

Jupyter Notebookを使用してこの複雑なコードを開発しましたが、このコードをパッケージ化または展開する方法について知りたいので、エンドユーザーは、それがどのように機能するかを見ずに使用することができます。

誰でもそれを行う方法のアイデアを手伝ってくれますか?オープンソースであるものが優先されます。

ありがとう

13
Kshitij Yadav

Pythonスクリプトまたはモデル:を展開するいくつかの方法を提案して、この質問をまとめたいと思います。

  • Docker:これは、スクリプトをホストし、オンラインで機械学習モデルを展開する最も一般的な方法の1つです。 Dockerを使用してコードをコンテナー化し、さまざまなアプリを使用してマイクロサービスとしてホストできます。
  • [〜#〜] pex [〜#〜][〜#〜] pex [〜#〜] はTwitterで開発中のPythonコードを実行可能なZipファイルとして出荷できるようにする巧妙なツール。
  • [〜#〜] aws [〜#〜]:AWSを使用して、無料のアカウントを作成し、ホスティング/デプロイを開始できます。多くのリソースがオンラインで利用可能です。
  • PYSimple、Pyinstaller、Sparrow:上記の回答で述べたように、これらのパッケージを使用してタスクを実行することもできます。上記をお読みください。
  • Flaskアプリ:Dockerを使用したくない場合は、シンプルなflask appを使用して、オンラインでスクリプトを作成しますが、コンテナ化されていないため、多くの問題が発生します。
  • py2exe:pythonファイルをWindows実行可能ファイルに変換する場合、 ここをクリック
  • cx_Freeze:py2exeと同様に、これも使用できます

見つけたらさらにコンテンツを追加していきますが、DOCKERを使用してそれを行う最善の方法だと思います。お役に立てれば。

3
Kshitij Yadav

PyInstaller は強力です opensource pythonプロジェクトのクロスプラットフォーム展開/配布のためのツール。

*注意:Jupyter NotebookをPyInstallerで配布した経験はありませんが、これはもっともらしいと思われます guide

Pypiを使用してインストールします。

pip install pyinstaller

コンソールなしのコードの配布は次のように簡単にできます。

pyinstaller --noconsole script.py

次に、作業ディレクトリのdistフォルダーの下に.exe(Window)があります。

3
imjp94

あなたはPythonコードをフレンドリーな方法でユーザーにデプロイしたい。それはGUIを意味すると思う。

これを行う1つの方法は、実行時にPythonプログラムにGUIインターフェースを表示させることです。システムにPythonがインストールされ、.pyが関連付けられている場合ファイルがある場合、ユーザーは.pyファイルをダブルクリックして、.EXEをクリックしたように見えるように実行できます。

GUIの必要性は最小限のようです。お探しのものを提供する新しいパッケージ PySimpleGUI が最近リリースされました。この記事を参照して、探しているものに合うかどうかを確認してください。 https://opensource.com/article/18/8/pysimplegui

PySimpleGUIパッケージへの貢献者の1人が、単一の.EXEファイルを作成して、PythonプログラムがGUIに直接起動するため、他のWindowsプログラムのように見えるようにできることを発見しました。

これを行うには、別の回答で指示されているように、PyInstallerパッケージを使用します。

pyinstaller -wF your_PySimpleGUI_based_program.py

2
MikeyB

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]

最終ユーザーの場合、ダブルクリックするだけです!

私はあなたがイデアを得たことを願っています

1
Hugo Assis

sparrow を使用して、スクリプトをエンドユーザーに配信します。 It Nice Works with Pythonスクリプトも。

基本的には、 requirements as 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。開示私はツールの著者です。スクリプトのパッケージ化に関してサポートが必要な場合はお知らせください。

0
Alexey Melezhik