素人技術日記

プログラミング初心者が技術ネタ中心で書くブログ。

2017/03/23

dockerについて

結局Dockerfileからホストのディレクトリをマウントする方法はなさそうだった。

そこで複数コンテナは建てないがdocker-composeを使うことにして「めでたし、めでたし」としたかったが、GUIの部分で詰まった。

魚の本を勉強していると昨日書いたが、この本ではmatplotlibでグラフを書くのでGUIの環境を整えてあげなくてはならなかった。

調べてみたらDockerでGUIを使えるようにする記事はいくつか発見することはできたが、matplotlibが必要とするPyQt4がどうしても導入できなくて諦めてローカルの環境でやることにした。

PythonバージョンのQtがあることを恥ずかしながら初めて知ったので若干驚いた。(なぜか書籍はあんまり発達してない。みんなC++を普通に使うのかな?)

Python環境構築

今までneovimの超有名プラグインdeniteを使用するために適当にセッティングしたぐらいで、真面目に環境組んだことがなかったので少し調べてみることに。

(そもそもdocker使うのでローカルの環境を気にする必要もないと考えてたし)

調べると

pyenvが必要かどうかフローチャート - Qiita

こんな記事が出てきた。

「pyvenvとか知らないぞ。俺も脳筋でpyenv使ってきてた。」と思いpyvenvを調べた。

あんまりいい資料がなかったが

Python: pyenv, pyvenv, virtualenv – What’s the difference? | Abu Ashraf Masnun

この資料が割と分かりやすかった。

要は、

pyenvはPythonのバージョンマネジャーで、様々なバージョンや実装(CPython以外)をインストールできる。 pyvenvはPython3.4から導入された、他のプロジェクトと干渉しない仮想環境を作るツール。

ということなのだろう。(pyvenvなんて本当にコンテナ使うなら不必要な気もするが)

調べたのでpyenvを捨ててしっかりと環境を構築し直そうと思ったら、deniteが反応してくれなくて困ってる。

情けないことに今日も環境構築に時間を取ってしまい終了。

deniteは今までできていたことを考えると削除する際に失敗して溜まったゴミが悪さをしてる可能性もある。

OSを入れてから半年ぐらい経っているし、新学期も始まるのでここで一つクリーンインストールするのもありかもしれない。