Cuckooでpymongoがimportできない


pipでpymongoをインストール済みでも何故かimport出来ないとWarningが出る場合の対処方法です。
基本的に参考サイト通りにやったらうまく行ったのですが、同じ所で２回も躓いたので自分用にまとめておきます。

#環境
- ホストOS
 - Ubuntu 14.04
- cuckoo
 - 1.2-dev


#参考
- [failure to import pymongo ubuntu](http://stackoverflow.com/questions/13115031/failure-to-import-pymongo-ubuntu)

#対応策
まずエラー内容ですが、以下の様なものです。
Cuckooを実行して解析が終わった時に出てしまいます。
pymongoが機能していないのでMongoDBに保存できていません。

```console
[lib.cuckoo.core.plugins] WARNING: The reporting module "MongoDB" has missing dependencies: Unable to import pymongo (install with `pip install pymongo`)
```

この状態で再度`pip install`をしても既にインストール済みだと言われます。

```console
$ sudo pip install pymongo
Requirement already satisfied (use --upgrade to upgrade): pymongo in /usr/local/lib/python2.7/dist-packages
Cleaning up...
```

そこで参考に上げたstackoverflowの通りにやったらうまくいきました。
Cuckooのインストール手順通りにやると`bson`を`apt-get`で入れるのですが、これが良くないようで、一度消してから`pymongo`をインストールするときの`bson`を使うとうまくいくようです。

```console
$ sudo pip uninstall pymongo
$ sudo pip uninstall bson
$ sudo apt-get purge python-bson
$ sudo pip install pymongo -U
Downloading/unpacking pymongo
  Downloading pymongo-2.7.2.tar.gz (381kB): 381kB downloaded
  Running setup.py (path:/tmp/pip_build_root/pymongo/setup.py) egg_info for package pymongo

Installing collected packages: pymongo
  Running setup.py install for pymongo
    building 'bson._cbson' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/_cbsonmodule.c -o build/temp.linux-x86_64-2.7/bson/_cbsonmodule.o
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/time64.c -o build/temp.linux-x86_64-2.7/bson/time64.o
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/buffer.c -o build/temp.linux-x86_64-2.7/bson/buffer.o
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/encoding_helpers.c -o build/temp.linux-x86_64-2.7/bson/encoding_helpers.o
    x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/bson/_cbsonmodule.o build/temp.linux-x86_64-2.7/bson/time64.o build/temp.linux-x86_64-2.7/bson/buffer.o build/temp.linux-x86_64-2.7/bson/encoding_helpers.o -o build/lib.linux-x86_64-2.7/bson/_cbson.so
    building 'pymongo._cmessage' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c pymongo/_cmessagemodule.c -o build/temp.linux-x86_64-2.7/pymongo/_cmessagemodule.o
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/buffer.c -o build/temp.linux-x86_64-2.7/bson/buffer.o
    x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/pymongo/_cmessagemodule.o build/temp.linux-x86_64-2.7/bson/buffer.o -o build/lib.linux-x86_64-2.7/pymongo/_cmessage.so

Successfully installed pymongo
Cleaning up...
```

この状態で再度cuckooを実行したらエラーが出なくなりました。