FC2ブログ

Anaconda 学習:conda と pip を混ぜると?

2018-10-10 :  PCクリニック
前回(2018-09-26)の記事:
Anaconda 学習:SciLab はどうか?
を書いている時に、

“onoz000's blog”の、
condaとpip:混ぜるな危険」を見つけた。

  Anaconda環境下でpipを使う場合のリスクについて、
  日本語で書かれたページがほとんど見つからなかったので覚え書き。

  ひとことで
  Anaconda下でpipを使うと予期せず環境が破壊され、
  最悪の場合Anaconda自体の再インストールが必要になる。
  pipは慎重に使いましょう。


  condaとpip
  pipはPython環境で様々なパッケージを管理するための標準ツール。
  例えば、pip install numpyというコマンド一発で(依存関係も含め)
  PyPI(配布サイト)からnumpyをダウンロード・インストールすることができる。

  一方、特にデータサイエンスのためにPythonを使う人に人気なのが、
  Anaconda, Inc.社の提供するAnacondaというPythonのディストリビューション。

  Anacondaにはcondaという独自のパッケージマネージャーが付属しており、
  仮想環境の管理やpipの代わりの役割などを果たしている。
  例えば、conda install numpyからnumpyをインストールできる。

  なぜAnaconda?

  ・・・・・
  ・・・・・

  condaの仕組み

  ・・・・・
  ・・・・・

  pipとcondaの衝突

  ・・・・・
  ・・・・・

  どうすれば良いか

  今までの説明からconda install X でパッケージが見つからなかった場合
  に安易にpipから入れるのは危険だということがわかる。
  リスクを減らすためには例えば次の様な手順を踏む。

  1.anaconda search X でXを提供しているチャネルがないか探す。
   あればconda install -c channel X等の方法でインストールする
   (この場合もチャネルの優先順位など、様々な注意が必要。
    詳しくは公式ドキュメント参照)。

  2.pipから入れたい場合、まずPyPIのサイトから該当するパッケージを探し、
   依存関係を調べておく。依存するパッケージのうち、
   condaからインストール可能なものは予めインストールしておく。

  3.依存関係を満たしたらpip install --no-deps XでXをインストールし、
   動作確認する。

  あるいは別の選択肢として、

   ・ pipからしか入れられないパッケージを入れたい場合、
     新しいcondaの環境を作る(conda create -n env python)。
     その環境内ではconda installは一切用いない。

   ・ Anacondaを使うのをやめる。Python公式サイトのPythonを使い、
     パッケージはpipで導入する。
     仮想環境についてはvenvやvirtualenvを用いる。

  自分のconda環境は大丈夫?

  既に構築済みの自分のconda環境でpipとcondaの衝突があるか
  確かめたい場合は、conda listを実行する。
  同じパッケージがpip経由とconda経由で入っている場合重複して表示される。
  何かがおかしくなっている可能性が高い。

  参考

  ・ wheelのありがたさとAnacondaへの要望 - YAMAGUCHI::weblog
  ・ Conda documentation, 特にManaging packagesのページ


殆ど引用(流用?) と云うか、丸写し(?)だが、
本日はここまで。


そう云えば、
今年2月(2018-02-02)の記事:
Anaconda 学習:cufflinks って何?」で、
  ・・・・・
  ・・・・・
  conda じゃ無くて、pip で導入するときについて
  若干学習した?
  ・・・・・
  ・・・・・
と書いている。



そして、
今年5月(2018-05-18)の記事:
Anaconda 学習:PyAutoGUI 導入
で書いた、

  ・・・・・
  ・・・・・
  先日(2018-05-02)の記事「Tiny C compiler:64-bit 版」の時、
  tinycc を、pip でインストールしていた。
  この時、リストを出力していなかった。
  ・・・・・
  ・・・・・

このころから、
conda listの結果に不審な点が見られる???




Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180909
関連記事
スポンサーサイト



コメントの投稿

管理者にだけ表示を許可する

人気blog Ranking



最新記事
カレンダー
06 | 2021/07 | 08
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

FC2 / i2i / Google




Google Analytics
ブックマーク