スクリプト開発 / サードパーティパッケージのインストール
DataFlux Func のインストール完了後、DataFlux Func 自体がサードパーティパッケージを必要とするため、これらのパッケージはスクリプト内で直接使用でき、追加インストールは不要です。
具体的なプリインストール済みサードパーティパッケージのリストは「管理 / PIP ツール」で確認できます。そのうち、「組み込み」列で はい とマークされているものがプリインストール済みのサードパーティパッケージです。
ユーザーが追加のサードパーティパッケージをインストールする必要がある場合も、「管理 / PIP ツール」からインストールできます。
1. パブリックネットワークでの Python パッケージのインストール
追加のサードパーティパッケージが必要な DataFlux Func がパブリックネットワークに直接アクセスできる場合、システム標準の「PIP ツール」を使用して直接インストールできます。
1.1 「PIP ツール」を有効にする
「管理 / 実験的機能」で「PIP ツール」を有効にします。
1.2 サードパーティパッケージのインストール
「PIP ツール」では、Pypi ミラーを選択し、パッケージ名を入力するとインストールできます。
バージョン番号を指定する必要がある場合は、package==1.2.3 の形式でインストールできます。
ミラーの選択
何らかの理由でサーバーが PyPI に直接アクセスできない場合は、別の PIP ミラーを選択できます。
2. パブリックネットワークなしでの Python パッケージのインストール
DataFlux Func が存在するサーバーがさまざまな理由で外部ネットワークにアクセスできない場合、通常の PIP 方式ではサードパーティパッケージをインストールできません。
この場合、同じアーキテクチャでパブリックネットワークにアクセスできる別の DataFlux Func を使用して、サードパーティパッケージをインストールする必要があります。インストールが完了したら、extra-python-packages ディレクトリ全体をパブリックネットワークにアクセスできない DataFlux Func にコピーします。
以下では、パブリックネットワークにアクセスできる DataFlux Func を「オンライン Func」、アクセスできない DataFlux Func を「オフライン Func」と略します。
2.1 オンライン Func でのサードパーティパッケージのインストール
この手順は、上記の「パブリックネットワークにアクセスできる場合の Pypi パッケージのインストール」を参照してください。
2.2 「ファイルマネージャーモジュール」を有効にする
「管理 / 実験的機能」で「ファイルマネージャーモジュール」を有効にします。
2.3 オンライン Func からサードパーティパッケージのディレクトリをダウンロード
extra-python-packages ディレクトリ(追加でインストールしたすべての Python パッケージの内容がここに保存されます)を見つけ、「その他 / 圧縮」を選択し、zip ファイルをダウンロードします。
2.4 オフライン Func へのサードパーティパッケージディレクトリのアップロード
オフライン Func に移動し、元のサードパーティパッケージ保存ディレクトリを削除して、前の手順でダウンロードした zip ファイルをアップロードして解凍します。
2.5 オフライン Func の再起動
この手順は デプロイとメンテナンス / アップグレードと再起動 を参照してください。
注意事項
DataFlux Func は Docker 内で動作し、Python の実行環境もコンテナ内の環境に依存します。
したがって、本機、または DataFlux Func コンテナ以外の容器内の Python でインストールした内容を DataFlux Func にコピーしないでください。そうしないと、奇妙な問題が発生することがよくあります。
さらに、「オンライン Func」と「オフライン Func」は同じハードウェアアーキテクチャである必要があります。たとえば、両方とも x86_64 または aarch64 である必要があります。
3. Wheel パッケージのアップロードによる直接インストールが推奨されないのはなぜですか?
Wheel パッケージをサーバーにアップロードして PIP で直接インストールする方法は理論的には可能ですが、実際にはほとんどの場合成功しません。
その理由は、アップロードした Wheel パッケージ自体が他のパッケージに依存している可能性があり、コード内で直接使用する Wheel パッケージだけをアップロードしても依存関係を満たせないためです。機能が強力なパッケージほど、一般的に依存する他のパッケージが多く、依存関係の階層が深くなります。最終的に、操作者が依存地獄に陥る可能性があります。
したがって、インストールするパッケージが他のパッケージに依存しない場合を除き、Wheel パッケージをアップロードして Python サードパーティパッケージをインストールする方法は一般的には推奨されません。