Anaconda環境でGCPライブラリをインストールするconda-forgeコマンド

Last Edited Time
Nov 4, 2021 10:38 AM
Category
開発・プログラミング | エンジニアリング
Not yet (Unpublish)
Podcast
Super Published

Python Quickstart | Google Docs API | Google Developers では、pipによる下記コマンドが例示されています。

pipでのインストールの場合:

$ pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

virtualenv等、pipによるインストールが推奨される環境では上記で良いのですが、Anaconda環境にライブラリをインストールするconda installコマンドでは、pip部分を変更するだけでは参照不可のエラー表示となります。

conda install -c conda-forgeでAnaconda環境にインストール可能

Anaconda環境でインストールする場合は、下記コマンドのように -cオプションとconda-forgeの追加が必要となるようです。

$ conda install -c conda-forge google-api-python-client google-auth-httplib2 google-auth-oauthlib

conda-forgeとは

image

condaコマンドの参照先リポジトリ

そもそもcondaコマンドでは、デフォルトでは下記URLをリポジトリ先として探し、ダウンロードされるとのこと。

defaults(デフォルトレポジトリ): https://repo.continuum.io/pkgs/

しかし、上記レポジトリにインストールしたいライブラリがない場合もある。そのときに別のリポジトリから探してきてもらう必要があります。

その時の大体レボジトリとなるのが、今回のconda-forge。condaコマンドで明示的に参照レポジトリを指定したい場合に、-cオプションが用いられます。

デフォルトチャネルとconda-forge由来のものが混じるので注意が必要

しかし、通常のdefaultsチャネルのものまで含まれますので、installの実行時には要注意。

install時に-cオプションで明示的にチャネルをconda-forgeに指定した場合、以下のようにdefaultsチャネル(pkgs/main)のものが勝手に含まれてしまう。condaの設定からdefaultsチャネルを削除していた場合もこの動作になるため、注意が必要だ。

Anaconda パッケージリポジトリが「大規模な」商用利用では有償になっていた - Qiita で説明があるように、2020年4月からAnacondaは商用利用する場合には有償での利用が必要となりました。

conda-forgeのみの利用であれば影響を避けることができるようなので、商用利用で無償で利用したい場合にはデフォルトチャネルのものがinstall時に混ざらないようにする必要があります。

インストール時にconda-forge由来のものだけインストールさせる方法

conda install -c conda-forge hogehogeとするとconda-forgeチャンネルの優先度がデフォルトチャンネルよりも高くなってしまうことが原因ではないかと考えている。そこで、 conda config --append channels conda-forge とコマンドを打ち、conda-forgeを低優先度でチャンネル追加したのちに conda install hogehoge とパッケージをインストールすればよい。 チャンネル追加は一度やれば十分なので、次からはinstallコマンドを打つだけでよい。