Make組ブログ

Python、Webアプリや製品・サービス開発についてhirokikyが書きます。

requirements.txtでリポジトリーURLを指定する方法

requirements.txtでリポジトリーURLを指定したいことがあります。たとえばSageMakerではコード用のディレクトリーにrequirements.txtを配置することで、起動時に依存ライブラリーをインストールしてくれます。その際に問題になるのが、Neuron系のライブラリーではリポジトリーURLを指定する必要があることです。

$ pip install --extra-index-url https://pip.repos.neuron.amazonaws.com torch-neuronx torchvision

通常はこのようにコマンドラインからオプションを指定したり、 pip config set としてグローバルの設定を追加するものです。ですが設定できるポイントが requirements.txt しかない場合は以下のように対処できます。

requiremets.txtに--extra-index-urlオプションを書く

requirements.txtには --extra-index-url などのオプションを書けます。

--extra-index-url https://pip.repos.neuron.amazonaws.com
torch-neuronx==...
neuronx-cc==...
torchvision==...

これでAWS Neuron向けのリポジトリーを使ってインストールできます。

当該リポジトリーにないパッケージはどうなる?

オプションの指定が --extra-index-url なので、指定したリポジトリーにパッケージがない場合はPyPIからインストールされます。たとえばsentencepieceはAWS Neuronのリポジトリーにはありませんが、一緒に書いてもよしなにインストールしてくれます。

おわりに

もう明日はクリスマスですね。Shodoアドベントカレンダーもここまでこれて良かったです!

明日で最後!

qiita.com

執筆:@hirokiky
Shodoで執筆されました