WindowsのPython "組み込み"インストールにパッケージを追加する
ドキュメント から:
埋め込まれたディストリビューションは、最小限のPython環境を含むZipファイルです。
いいね! Pythonの64ビットWindows組み込みv3.6.5はわずか13MBです。コンパイルする代わりに、いくつかのpythonスクリプトをPythonがインストールされていないWin10マシンで実行するために最低限必要です。
今、私はほとんどの場合、機能を提供するために追加のパッケージをインポートする必要があります。しかし、pythonスクリプトをこの埋め込みバージョンのPythonと一緒に送信したい場合、どうすればよいか判断できません。たとえば、スクリプトがnumpyを使用している場合、どのように含めることができますか?つまり、この「埋め込み」内のライブラリ、つまり、どのWin10マシンでも単一の展開ファイルを解凍して、すぐにスクリプトを実行できるようにしますか?
(レギュラー pip install numpy
は、50MBを超えるLibサブディレクトリを作成しているようです!しかし、「組み込み」デプロイメントの場合、デバッグのサポートや、ファイルのその大量に含まれるその他のサポートは必要ありません。)
Python組み込みインストールを拡張する方法があります。ターゲットマシンで解凍してコードを実行するだけでFlask対応パッケージを作成できました。トリックはインストールすることです[ 〜#〜] exact [〜#〜]same python(通常のフルブローPython)のターゲットとして埋め込まれた小さなPython。バージョンだけでなくx86 、x64も一致する必要があります。
次に、通常のpythonでpipからモジュールをインストールし、NormalPython\Lib\site-packagesに移動して、表示されるすべての新しいファイルをコピーしますインストール後EmbeddedPython\Lib最後に追加Lib to pythonXX._pth埋め込み内部pythonフォルダ。
パッケージを見逃した場合に備えて、アプリケーションを完全にテストすることは非常に重要です。また、これは、.exeをScriptsフォルダーに追加するパッケージでも機能しません。おそらく、exeをScriptフォルダーにコピーし、それをパスに追加すると、トリックを実行できます。
Python組み込みインストールを拡張する方法があります。トリックは、ターゲット組み込みpython()と同じpython version(私はそれをNormalPythonと呼びます)をインストールすることです。これをEmbeddedPythonと呼びます。バージョンとアーキテクチャは完全に一致する必要があります。
次に、NormalPythonのpipからモジュールをインストールします。 NormalPython\Scriptsでpipを見つけることができます。
NormalPython\Lib\site-packagesに移動し、pipを使用してインストールするものを何でもインストールした後に表示されるすべてのファイルをEmbeddedPython\Lib \にコピーします。
次に、埋め込まれたpythonフォルダ内のpythonXX._pthにLibを追加します。
これは、最新のpython embed and python install through https://www.python.org/downloads/windows / 。私はMichal Rawlukの答えを使用してそれを行いましたが、理解するのがやや難しかったので、少し異なって説明しようとしています。