概要
conda 使っていると、大体の有名どころのパッケージは見つかるのですが
当然、存在しないものもあります。いろんなページで、そういうときは pip
でインストールすると記載されています。
例えば、私が個人的にめっちゃ使っているパッケージに pyperclip
ってのがあって
これは、デフォルトでは 見つかりません。
~$ conda search --full-name pyperclip Fetching package metadata ........... PackageNotFoundError: Packages missing in current channels: - pyperclip We have searched for the packages in the following channels: - https://repo.continuum.io/pkgs/main/osx-64 - https://repo.continuum.io/pkgs/main/noarch - https://repo.continuum.io/pkgs/free/osx-64 - https://repo.continuum.io/pkgs/free/noarch - https://repo.continuum.io/pkgs/r/osx-64 - https://repo.continuum.io/pkgs/r/noarch - https://repo.continuum.io/pkgs/pro/osx-64 - https://repo.continuum.io/pkgs/pro/noarch
無慈悲に 「そんなのねーよ」って返ってきます(´;ω;`)
で、んじゃ pip
で入れるかってなる前に、anaconda コマンドでも探してみましょう。
~$ anaconda search pyperclip Using Anaconda API: https://api.anaconda.org Packages: Name | Version | Package Types | Platforms | Builds ------------------------- | ------ | --------------- | --------------- | ---------- alemack/pyperclip | 1.5.9 | conda | win-64 | py34_0, py33_0, py26_0, py27_0 : A cross-platform clipboard module for Python. (only handles plain text for now) auto/pyperclip | 1.3 | conda | linux-64 | py27_0 : http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboard-module-for-python/ bryanwweber/pyperclip | 1.5.27 | conda | linux-64, win-64, osx-64 | py36_0, py35_0, py34_0 conda-forge/pyperclip | 1.5.32 | conda | linux-64, win-32, win-64, noarch, osx-64 | py_0, py36_0, py35_0, py27_0 : A cross-platform clipboard module for Python. (only handles plain text for now) jim-hart/pyperclip | 1.5.27 | conda | linux-64, win-32, osx-64, linux-32, win-64 | py36_0, py34_0, py35_0, py27_0 : A cross-platform clipboard module for Python. (only handles plain text for now) marciorf/pyperclip | 1.5.11 | conda | win-64 | py34_0 : A cross-platform clipboard module for Python. (only handles plain text for now) pypi/pyperclip | 1.5.4 | pypi | | : Pyperclip is a cross-platform Python module for copy and paste clipboard functions. It works with Python 2 and 3. rogerramos/pyperclip | 1.5.27 | conda | linux-64 | py27_1 : A cross-platform clipboard module for Python. (only handles plain text for now) ssable/pyperclip | 1.5.27 | conda | win-64 | py35_0 Found 9 packages Run 'anaconda show <USER/PACKAGE>' to get installation details
あるじゃんってなります。
んで、何回も anaconda search してると、どの結果にも大抵でてくる以下のチャネルがあります。
conda-forge
conda-forge | community driven packaging for conda
トップページに
A community led collection of recipes, build infrastructure and distributions for the conda package manager.
と書いてある通り、github上で組織されているコミュニティ主体のパッケージコレクションです。
Anaconda Cloud で確認してみると
公開しているパッケージ数がなんと 3500 オーバー(2017/12/09時点)
デフォルトで見つからないパッケージは、大抵こっちで見つかります。
チャネルの追加
で、毎回 conda-forge をパラメータに追加するのは面倒なので、conda-forge のページに記載されているように
デフォルトでconda-forgeも探しに行くように設定追加しましょう。
conda の設定を行う場合は、conda config
を使います。
今のチャネル設定がどうなっているのかは以下のようにします。
~$ conda config --get channels --add channels 'defaults' # lowest priority
デフォルトのみが登録されてる状態。
チャネルを追加する場合は、以下のようにします。
~$ conda config --add channels conda-forge ~$ conda config --get channels --add channels 'defaults' # lowest priority --add channels 'conda-forge' # highest priority
無事追加されました。でも私の場合ですが
--add
すると conda-forge が highest priority
になるので、ちょっと嫌。
デフォルトがまず優先されてほしいです。
なので、一旦さっきの設定を削除。
~$ conda config --remove channels conda-forge ~$ conda config --get channels --add channels 'defaults' # lowest priority
無事削除されました。
チャネルを追加する際に、今度は --append
を使います。
~$ conda config --append channels conda-forge ~$ conda config --get channels --add channels 'conda-forge' # lowest priority --add channels 'defaults' # highest priority
これで、デフォルトが highest priority
の状態で conda-forge
チャネルの追加完了。
では、最初に見つからなかった pyperclip
を再度検索。
~$ conda search --full-name pyperclip
Fetching package metadata .............
pyperclip 1.5.27 py27_0 conda-forge
1.5.27 py35_0 conda-forge
1.5.27 py36_0 conda-forge
1.5.32 py_0 conda-forge
次は、無事見つかりましたね。
.condarc
ちなみに、conda config
は、ホームディレクトリの .condarc
を編集しているだけなので
エディタで編集しても同じです。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場