condaで提供されていないパッケージをAnaconda Cloudから検索してインストール
タイトルの通りですが、condaで提供されていないパッケージがあります。
Anaconda Cloud ( https://anaconda.org/ )という、パッケージを管理するためのリポジトリが提供しています。
Anaconda Cloud とやり取りするためのコマンドライン(インタフェイス)として anaconda-client( https://github.com/Anaconda-Platform/anaconda-client )が提供されています。
anaconda-client をインストールすることで anaconda というコマンドを使って Anaconda Cloud を扱えます。 (Anaconda ディストリビューションをインストールした場合は anaconda-client もインストールされています。)
1.Anaconda Cloud から検索してインストール
今回、「LittleHTTPServer 0.5.0」というパッケージで実際にやってみます。
もしcondaにパッケージが含まれている可能性もあるので念のためcondaで検索してみます。condaの使い方は(condaの簡単な使い方)を参照。
コマンドラインに「conda search littlehttpserver」でたたいてみます。
C:\Users\>conda search littlehttpserver
Loading channels: done
PackagesNotFoundError: The following packages are not available from current channels:
# パッケージは見つかりません: 以下のパッケージは現在のチャンネルから入手できません。
- littlehttpserver
Current channels:
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/free/win-64
- https://repo.anaconda.com/pkgs/free/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/r/noarch
- https://repo.anaconda.com/pkgs/pro/win-64
- https://repo.anaconda.com/pkgs/pro/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
# condaパッケージを提供している可能性がある代替チャンネルを下記から検索しましょう
https://anaconda.org
and use the search bar at the top of the page.
上記の通りですが「PackagesNotFoundError」が表示されています。
そこで、anaconda-client を使って、Anaconda Cloud 状のリポジトリを検索してみます。なお、Anaconda ディストリビューションからインストールした場合は、すでに anaconda-client はインストールされているのでここではスキップして、パッケージ検索に進みます。
anaconda-client を使って、「-t」(--package-type)オプションで、conda または pypi のどちらかのパッケージ種別を指定できますが、今回は conda を指定します。
anaconda search -t conda littlehttpserver
でパッケージを検索します。
C:\Users\>anaconda search -t conda littlehttpserver
Using Anaconda API: https://api.anaconda.org
Packages:
Name | Version | Package Types | Platforms | Builds
----------------------- | ------ | --------------- | --------------- | ----------
auto/littlehttpserver | 0.1.4 | conda | linux-64 | py27_0
: http://bitbucket.org/t2y/littlehttpserver
t2y/LittleHTTPServer | 0.5.0 | pypi, conda | linux-64 | py36_0, py33_0, py34_0
: Little bit extended SimpleHTTPServer
Found 2 packages
Run 'anaconda show <USER/PACKAGE>' to get installation details
「Found 2 packages」
誰かが公開してくれている「littlehttpserver 」のパッケージが2件見つかりました。現時点での最新バージョンである「t2y/LittleHTTPServer 0.5.0」を選択します。
なおこちらの検索は、Webページでも同様に検索できます。
が、今回Windowsの今回の環境ではインストールできないようなので違うものを次のステップで入れてみます。インストールは失敗するがその流れは下記の通り。
C:\Users\anaconda login
Using Anaconda API: https://api.anaconda.org
Username: ********
Password: ********
User_name's login successful
ログインができたら、インストールをします。
C:\Users\>pip install -i https://pypi.anaconda.org/t2y/simple littlehttpserver
Looking in indexes: https://pypi.anaconda.org/t2y/simple
Collecting littlehttpserver
Downloading https://pypi.anaconda.org/t2y/simple/littlehttpserver/0.1.4/LittleHTTPServer-0.1.4.tar.gz
Collecting distribute (from littlehttpserver)
Could not find a version that satisfies the requirement distribute (from littlehttpserver) (from versions: )
No matching distribution found for distribute (from littlehttpserver)
要件を満たすバージョンを見つけることができませんでした。
とエラーがでてインストールできませんでした。
2.「unicodecsv」を検索してインストールする
Anaconda Cloud で「unicodecsv」を検索するとパッケージが見つかります。ファイル名から察するに、unicodeのCSVファイルを扱えるパッケージなのかなと想像がつきます。
「unicodecsv 0.14.1」( https://anaconda.org/conda-forge/unicodecsv )というものが検索でヒットしたので確認してみましょう。
インストール条件は、conda install に書いてある通り
linux-64 v0.14.1
win-32 v0.14.1
noarch v0.14.1
osx-64 v0.14.1
win-64 v0.14.1
上記を見る限り、どの環境でも使えそうですね。
インストールは下記の通りコマンドに入れてみます。
To install this package with conda run one of the following:
conda install -c conda-forge unicodecsv
conda install -c conda-forge/label/gcc7 unicodecsv
インストール手順は、上記該当パッケージのページに行くと記載してありますが、anaconda API にログインして(事前にブラウザで登録しておく)インストールコマンドをたたけばOKです。
conda install -c conda-forge unicodecsv
C:\Users\>conda install -c conda-forge unicodecsv
Solving environment: done
## Package Plan ##
environment location: C:\Anaconda3
added / updated specs:
- unicodecsv
The following packages will be downloaded:
package | build
---------------------------|-----------------
# ~中略~
------------------------------------------------------------
Total: 412.0 MB
The following NEW packages will be INSTALLED:
unicodecsv: 0.14.1-py_1 conda-forge
The following packages will be UPDATED:
# ~中略~
The following packages will be DOWNGRADED:
# ~中略~
Proceed ([y]/n)? y
Downloading and Extracting Packages
sqlite-3.22.0 | 907 KB | ###### | 100%
openssl-1.0.2p | 5.4 MB | ###### | 100%
zstd-1.3.3 | 1.2 MB | ########### | 100%
icu-58.2 | 21.8 MB | ########### | 100%
mkl-2018.0.3 | 178.1 MB | ########### | 100%
numpy-1.15.4 | 36 KB | ########### | 100%
sip-4.18.1 | 269 KB | ########### | 100%
qt-5.6.2 | 55.6 MB | ########### | 100%
krb5-1.14.6 | 767 KB | ########### | 100%
psutil-5.4.8 | 326 KB | ########### | 100%
libsodium-1.0.16 | 582 KB | ########### | 100%
certifi-2018.11.29 | 144 KB | ########### | 100%
mistune-0.8.4 | 53 KB | ########### | 100%
cython-0.29.2 | 2.0 MB | ########### | 100%
mkl_random-1.0.1 | 267 KB | ########### | 100%
lz4-c-1.8.1.2 | 211 KB | ########### | 100%
zlib-1.2.11 | 119 KB | ########### | 100%
libpng-1.6.34 | 547 KB | ########### | 100%
libarchive-3.3.3 | 4.0 MB | ########### | 100%
libcurl-7.61.1 | 249 KB | ########### | 100%
numexpr-2.6.9 | 131 KB | ########### | 100%
scikit-learn-0.20.0 | 5.2 MB | ########### | 100%
pywavelets-1.0.1 | 4.3 MB | ########### | 100%
jpeg-9b | 314 KB | ########### | 100%
numpy-base-1.15.4 | 3.9 MB | ########### | 100%
python-3.7.1 | 20.9 MB | ########### | 100%
curl-7.60.0 | 367 KB | ########### | 100%
pyodbc-4.0.25 | 65 KB | ########### | 100%
matplotlib-2.2.3 | 6.5 MB | ########### | 100%
mkl_fft-1.0.6 | 120 KB | ########### | 100%
libxslt-1.1.32 | 456 KB | ########### | 100%
gevent-1.3.7 | 1.6 MB | ########### | 100%
snappy-1.1.7 | 80 KB | ########### | 100%
zeromq-4.2.5 | 9.6 MB | ########### | 100%
numba-0.39.0 | 2.5 MB | ########### | 100%
vc-14 | 985 B | ########### | 100%
scikit-image-0.14.1 | 23.3 MB | ########### | 100%
tk-8.6.8 | 3.8 MB | ########### | 100%
pycurl-7.43.0.2 | 58 KB | ########### | 100%
yaml-0.1.7 | 103 KB | ########### | 100%
mkl-service-1.1.2 | 13 KB | ########### | 100%
sqlalchemy-1.2.15 | 1.6 MB | ########### | 100%
scipy-1.1.0 | 13.5 MB | ########### | 100%
bzip2-1.0.6 | 144 KB | ########### | 100%
pyqt-5.6.0 | 4.5 MB | ########### | 100%
hdf5-1.10.2 | 18.9 MB | ########### | 100%
llvmlite-0.24.0 | 9.3 MB | ########### | 100%
unicodecsv-0.14.1 | 12 KB | ########### | 100%
ca-certificates-2018 | 179 KB | ########### | 100%
astropy-3.1.1 | 6.9 MB | ########### | 100%
libssh2-1.8.0 | 184 KB | ########### | 100%
lzo-2.10 | 154 KB | ########### | 100%
pillow-5.2.0 | 648 KB | ########### | 100%
cryptography-2.3.1 | 506 KB | ########### | 100%
markupsafe-1.1.0 | 27 KB | ########### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
と言うようになれば成功です。(実際にこれが必要かは置いといて)
unicodecsv 0.14.1 py37_0
ただ、unicodecsvは最初のAnacondaパッケージに入っているので入れる必要はありません。(逆にバージョンが古くなる場合もあるので、古くて使えないというわけでなければ入れる必要はないような気がします)
Webのお仕事、元phpプログラマ、今主にWebディレクタ、たまにエンジニア、UXディレクタ、LTのネタ探ししてます。