dockerでjupyterを使う
最近はjupyter notebookをよく使っているので, モジュール(ここではlibrosaなどのこと)をホストマシンに直入れしています.
誰しも, いろいろプログラムを触っているうちに, 有用なレガシーコードを動かしたくなることがあると思います.
しかし, importしているモジュールのバージョンが古い, ということがあります.
僕は, それを解決するために, dockerコンテナ上でjupyter notebookを動かしています.
dockerコンテナ毎でモジュールを管理していけば楽じゃないかと.
(結局, モジュール数が増えると管理が大変なんだけど. 誰か上手な方法を教えて欲しいです.)
docker run -dit -p 8888:8888 --name jupyter-notebook -v $HOME/jupyter-notebook/notebooks:/opt/notebooks continuumio/anaconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --no-browser --allow-root"
するだけです. あとは,
docker logs jupyter-notebook
で出てくるURLをブラウザにコピペするだけです.
ところが
OSError: ctypes.util.find_library() did not manage to locate a library called 'sndfile'.
ctypes.util.find_library()がsndfileを管理していない??
ググっても情報が少なくて小一時間はまりました.
結論
apt-get install libsndfile1
で直る.
libsndfileはUbuntuの音声読み書き用のライブラリで, soundfileが読み書きに使っています.
僕は, /usr/lib内にlibsndfileがないため, OSErrorになったのだろうと考えています.
わりとチンケなエラーだったな_(┐「ε:)_
0 件のコメント:
コメントを投稿