conda-forgeからPythonパッケージをインストールする際、conda install -c conda-forge hogehogeとしたら要らないパッケージまでインストールされそうになったのでメモ。
2020/1/1 追記
このページは割と見られているようなので、公式のインストール手順ページへのリンクも貼っておく。
A brief introduction — conda-forge 2019.01 documentation
2019/11/3 追記
本記事の手順でパッケージインストールすると、conda-forge由来のパッケージと、anaconda由来のものが混じる。 パッケージによってはこれがバグ(おそらく実行時にエラーがでる)を引き起こすこともあるので注意。 例えば、geopandasなど。詳細は以下。 qiita.com
個人的には、conda-forge由来のパッケージを一つでも使う場合には、すべてのパッケージをconda-forge由来にしたほうがよいのではと感じる。 conda-forge onlyで困ったことはないし。
まとめ
conda config --append channels conda-forgeしてからconda install hogehogeする- 最初のコマンドは、初めてconda-forgeからインストールするときに必要。2回目以降は不要。
解決法
conda install -c conda-forge hogehogeとするとconda-forgeチャンネルの優先度がデフォルトチャンネルよりも高くなってしまうことが原因ではないかと考えている。そこで、
conda config --append channels conda-forge
とコマンドを打ち、conda-forgeを低優先度でチャンネル追加したのちに
conda install hogehoge
とパッケージをインストールすればよい。
チャンネル追加は一度やれば十分なので、次からはinstallコマンドを打つだけでよい。
実行例
不要なパッケージがインストールされそうになる例
PS C:\Users\USER> conda install -c conda-forge tensorboardx
Solving environment: done
## Package Plan ##
environment location: C:\Users\USER\Miniconda3
added / updated specs:
- tensorboardx
The following packages will be downloaded:
package | build
---------------------------|-----------------
certifi-2018.11.29 | py37_1000 144 KB conda-forge
python-3.7.1 | hc182675_1000 20.9 MB conda-forge
tensorboardx-1.6 | py_0 63 KB conda-forge
cryptography-2.3.1 |py37h74b6da3_1000 506 KB conda-forge
openssl-1.0.2p | hfa6e2cd_1002 5.4 MB conda-forge
qt-5.9.6 | vc14h1e9a669_2 93.9 MB
protobuf-3.6.1 |py37he025d50_1001 515 KB conda-forge
conda-4.5.12 | py37_1000 660 KB conda-forge
ca-certificates-2018.11.29 | ha4d7672_0 179 KB conda-forge
libprotobuf-3.6.1 | h1a1b453_1000 2.0 MB conda-forge
------------------------------------------------------------
Total: 124.2 MB
The following NEW packages will be INSTALLED:
libprotobuf: 3.6.1-h1a1b453_1000 conda-forge
protobuf: 3.6.1-py37he025d50_1001 conda-forge
tensorboardx: 1.6-py_0 conda-forge
The following packages will be UPDATED:
ca-certificates: 2018.03.07-0 --> 2018.11.29-ha4d7672_0 conda-forge
certifi: 2018.11.29-py37_0 --> 2018.11.29-py37_1000 conda-forge
conda: 4.5.12-py37_0 --> 4.5.12-py37_1000 conda-forge
The following packages will be DOWNGRADED:
cryptography: 2.4.2-py37h7a1dbc1_0 --> 2.3.1-py37h74b6da3_1000 conda-forge
openssl: 1.1.1a-he774522_0 --> 1.0.2p-hfa6e2cd_1002 conda-forge
python: 3.7.2-h8c8aaf0_0 --> 3.7.1-hc182675_1000 conda-forge
qt: 5.9.7-vc14h73c81de_0 --> 5.9.6-vc14h1e9a669_2
Proceed ([y]/n)? n
以下のやりかただと、最小限のインストールで済む
PS C:\Users\USER> conda config --append channels conda-forge
>>
PS C:\Users\USER> conda install tensorboardx
Solving environment: done
## Package Plan ##
environment location: C:\Users\USER\Miniconda3
added / updated specs:
- tensorboardx
The following packages will be downloaded:
package | build
---------------------------|-----------------
tensorboardx-1.6 | py_0 63 KB conda-forge
libprotobuf-3.6.1 | h7bd577a_0 1.9 MB
protobuf-3.6.1 | py37h33f27b4_0 514 KB
------------------------------------------------------------
Total: 2.5 MB
The following NEW packages will be INSTALLED:
libprotobuf: 3.6.1-h7bd577a_0
protobuf: 3.6.1-py37h33f27b4_0
tensorboardx: 1.6-py_0 conda-forge
Proceed ([y]/n)?
参考
以下のページがよくまとまっている。 devlights.hatenablog.com