🗃️

DaVinciResolveでPythonの外部ライブラリを使いたい

に公開

DaVinciResolveはPythonを使ったスクリプト操作が可能。

その上で、pipでinstallするような外部ライブラリを使いたいって需要あるよね、ある。
具体的に言うとGUIライブラリとか使いたい人多いんじゃないかな。
一応グローバルにpip installすれば外部ライブラリ使えるけど…配布したい時どうするの?とか
そこらへんの最適解を自分なりに考えてみました。

方法

以下の手順を踏み、外部ライブラリをフォルダに纏め、プログラム内でそのフォルダを参照する

  1. 外部ライブラリを特定フォルダ下にインストールする
    requirements.txtが置いてあるフォルダで下記コマンドをターミナルから実行すると、moduleフォルダが作成されその中に外部ライブラリ一式が入る。
python -m pip install -r requirements.txt -t module
  1. Pythonスクリプト内で最初にsys.path.appendを実行
sys.path.append("ここに1で作成したフォルダを参照")

配布するとき

配布物にrequirements.txtを同梱し、配布先でユーザーにpip installしてもらう。
もしくはインストーラーを用意してその中でpip installを実行する。

「1で作成したフォルダを渡せばいいのでは・・・?」と思われる方が居るかもしれないが
OSやバージョン違いによって動かない可能性が非常に高いのでオススメしない。
ユーザーの端末でpip installしてもらいなさい。

サンプル

PSDRexaというDaVinciResolve用のアプリのインストーラーがサンプルになると思います。
https://github.com/NUROKU/PSDRexa/releases
こいつのインストーラーの中身やPSDRexa.pyを参考にしてください。

Discussion