YutaKaのPython教室

Python の文法やライブラリ、API、環境構築について画像・動画・ソースコード付きで徹底解説!

Anaconda:デフォルトチャンネルとconda-forgeを最大限に活かす方法

f:id:YutaKa:20191011094435p:plain

conda-forgeはコミュニティベースのRepositoryで、Anaconda repositoryにはない素晴らしいモジュールが豊富にそろっています。

一方、Anaconda repositoryは、Anaconda inc.に管理されているので、安定性や依存関係の点で信頼性が比較的高いんじゃないかなと個人的には思っています。

そう感じると、できるだけAnaconda repositoryからとってきて、そこにないモジュールだけをconda-forgeから持ってきたいと思いますよね?

この懸念はGitHubのスレッドでも話し合われていて、私もその通りだなと思いました。

github.com

この話し合いの内容を見てみるとDefaultチャンネルにあるものは先に準備して、conda-forgeにしかないものは後から追加するという折衷案で落ち着いたようです。

今日はその手順をまとめました!

① Defaultチャンネルで仮想環境を作る

例として、Twythonモジュールを含んだ仮想環境(YutaKa_Tweet_Manager)を構築してみましょう。

conda create --name YutaKaTweetManager twython

次の画面のpkgs/main/win-64やnoarchはデフォルトチャンネルを意味しています。

f:id:YutaKa:20191010061329p:plain

これで、基本的なモジュールとtwythonに関連するモジュールは、Defaultチャンネルからインストールできました!

② conda-forgeにしかないモジュールを追加する

次に今作った仮想環境をアクティベイトします!

conda activate YutaKa_Tweet_Manager

f:id:YutaKa:20191010062345p:plain

アクティベイトしないと、base環境(デフォルト環境)にモジュールがインストールされてしまうんです。base環境はいじらないのが基本らしいです。

アクティベイトしたらチャンネルを指定して、モジュールをインストールします。

conda install -c cond-forge PACKAGENAME1 PACKAGENAME2 PACKAGENAME3...

今回は次の3つのモジュールをインストールしてみます。

  • google-api-python-client
  • google-auth-httplib2
  • google-auth-oauthlib

f:id:YutaKa:20191010071747p:plain

欲しいモジュールとそれと関係するモジュールだけがインストール、バージョン調整されたようです!

つまり、デフォルトチャンネルをもとに作った環境を保護しつつ、必要なものだけconda-forgeからインストールできたということだと思います。

まとめ

今回は、できるだけAnaconda repositoryからモジュールをインストールしつつ、そこにないモジュールだけをconda-forgeから持ってくる方法をまとめました。

初めから必要なモジュールがわかっている場合には、今回紹介した方法がBest effortだと思います。