pipがこんなエラーを吐きました。
Requirement already satisfied: pycrypto in c:\users\lis\appdata\local\continuum\anaconda3\lib\site-packages (2.6.1)
distributed 1.21.8 requires msgpack, which is not installed.
ということで、対処方法を調べて、成功したので備忘録です!
経緯
経緯はこんな感じです。
- Visual Sutdio 2017でAnacondaを入れていた
- 色々pipしていたら干渉やしがらみが酷く邪魔
- AnacondaをVisual Studio Installerでアンインストール
- Anaconda自体をインストール
- pycryptoをpipでインストールしよ!
- エラー……
エラー内容
こんなエラーが出ました。
Requirement already satisfied: pycrypto in c:\users\lis\appdata\local\continuum\anaconda3\lib\site-packages (2.6.1)
distributed 1.21.8 requires msgpack, which is not installed.
解決方法
2つのパッケージをインストールします。
- msgpack
- msgpack-python
です。
msgpackをインストール
$ pip install msgpack
Collecting msgpack
Downloading https://files.pythonhosted.org/packages/04/81/c6363198f24ec1c56e5c48ce685cb532e175125adade0cdb181c8c5fea6e/msgpack-0.5.6-cp36-cp36m-win_amd64.whl (85kB)
100% |████████████████████████████████| 92kB 2.6MB/s
Installing collected packages: msgpack
Successfully installed msgpack-0.5.6
msgpack-pythonをインストール
$ pip install msgpack-python
Requirement already satisfied: msgpack-python in c:\users\lis\appdata\local\continuum\anaconda3\lib\site-packages (0.5.6)
改めて目的のパッケージをインストール
$ pip install pycrypto
Requirement already satisfied: pycrypto in c:\users\lis\appdata\local\continuum\anaconda3\lib\site-packages (2.6.1)
いけた!
msgpackって?
調べてみました。
MessagePackはバイナリ形式のデータコンテナで,いくつかのプリミティブタイプとデータ構造(Map, List, Raw)を提供する.これがMessagePackの型であり,プログラミング言語は各それぞれの型にマッピングする.ここで重要なのは,MapやListやRawは構造を決めるだけで,中の型が何かまでは関知しない.それは上位レイヤーでハンドルするべき,という方針. これはwire formatとしては十分で,実際MessagePack RPC以外でも色々なところでMessagePackは内部フォーマットとして使われている.
引用:MessagePackが文字列とバイナリをわけないのは問題? · GitHub
pipで取ってくるデータのフォーマットを、コレを解決できるものが入ってないと解釈できなかったからエラーしてたってことかな?
参考
こちらを参考にしました。ありがとうございました。