Anacondaはうんち
もしかして: Anacondaのうんち
from 人の一面を見て劣って見えたとしても、その人が全てにおいて劣っているとは限らない
ちなみにその後輩が詰んだ環境構築が Anaconda に起因するものだったので、前から持っていた Anaconda はうんちという信念が強化されたSummer498.icon
1. Anaconda と pip が混ぜるな危険
2. Anaconda でできることは大体 pip でできる
3. pip only でできるけど Anaconda only でできないことはある
PyPI で提供されているが Anaconda のディストリビューションで提供されていないライブラリが存在
あ……(察し)takker.iconbiwa.icon
Anaconda がうんちであることを後輩にとつとつと語るために Anaconda について復習したら初心者が Anaconda を使って死ぬ理由を垣間見た
昔 pip がうんちだった頃に Anaconda が登場した
なんか pip ではパッケージ内の非 python ソースを自分でコンパイルする必要があったとか
Anaconda はそんな事なかった
そうだった気もするが、pipが悪いというよりは…nishio.icon
LinuxやMacではパスの通ったところにCのコンパイラがあるのは当たり前という感じ
で、機械学習はLinux環境が主流で進んでるので当然それを仮定する
のだが、WindowsだとVisual Studioを入れてうんぬんと事前に作業が必要だった
npmを使おうとしたときにこれでVisual Studioを入れたんだbsahd.icon
そこで「環境構築ができないWindowsユーザ向けにこちらでビルドしておきました」の提供手段にニーズが生まれた
なぜpipで提供されてたかというと提供者側はpipで問題を感じなかったから
マイノリティであるWindowsを使っておきながら主流に合わせた環境構築をできないユーザが問題
あるあるSummer498.iconbsahd.icon
その頃に Anaconda の素晴らしさを体験した世代が、今の初心者を教えている
当然素晴らしい() Anaconda を勧める
実際彼らは「Anacodna はライブラリのインストールを依存関係まで全部自動でやってくれるんだよ」と言う
ひろゆき.iconそれって (今となっては) pip でもできますよね?
2012年にバイナリフォーマットの標準化が行われてるnishio.icon
https://peps.python.org/pep-0427/
Anacondaの初出も2012年
標準化しないで独走したから少し早いのだろう
初心者は何も知らんから Anaconda を使う
何も知らんから混ぜるな危険をやって死ぬ
python の環境構築の相談を受けたときに「Anaconda 使ってる?」と言うのは口癖になっている
でも前に一回だけ venv + pip では動かなかったけど Anaconda では動いた経験があるSummer498.icon
あれはマジで何だったんだろう
Anaconda は使ったことがない(使うメリットを感じなかった)suto3.icon
確かAnaconda は独自のパッケージマネージャーと仮想環境をもっていた
仮想環境ではないもよう(だからコンフリクトを引きおこすのか)
仮想環境も持つ。 conda create で作れるSummer498.icon
仮想環境と無関係に pip とのコンフリクトは発生する
その枠内では便利そうだったけど、逆にそれが制約に感じられた(自分の好みではなかった)
pip以前のインストールの話としては、
Pythonモジュールのパッケージをダウンロードしてくる
インストールスクリプトを走らせてインストールする
という手順でインストールしてた
手間はかかったけど、特に困った記憶はない
依存関係が大量にあると困るbsahd.icon
よく見たら 1 行目で即落ち二コマっぽくなってるSummer498.icon
「Anacondaはうんち!」「人の一面を見て劣って見えたとしても、その人が全てにおいて劣っているとは限らない」
実際前に一回だけ venv + pip では動かなかったけど Anaconda では動いた経験があるSummer498.iconから間違ってはないか
condaは依存関係の解決が遅すぎてつらいyosider.icon
Pythonの開発環境の3つの観点をおさえよう
pipはpipで難点がある
なおここに掲載しているツール以外でとくに Anaconda が有名ですが、ライセンス上の注意事項などもあるため、この記事ではふれていません。
Pythonに入門にしたばかりの頃、Anacondaはやめておけという話だけを聞き、一生触れないでいたbiwa.icon
ウチの研究室で先輩からの研究引き継ぎのせいで脈々と Anaconda が受け継がれて毎年環境構築で後輩が死んでるんだがSummer498.icon
anti-anaconda ポスターでも作って貼っとくか
anaconda を使うとネコの裁きにあう
実際に死を体験するのが一番効果ありそうyosider.icon
でもこういうのを適切にアップデートするのは難しいよねnishio.icon
研究室は数年で人が入れ替わるからマニュアルを書いた人がもういない