OFFICE風太郎

日本のエンジニア、風太郎です。問題解決が飯のタネです。仕事や生活で問題解決を活用したり、問題解決の基礎となる統計とかデータ分析の話をしていきます

Anaconda仮想環境で、LinuxDockerの分析環境を再現してみる

やりたいことと結果

 本業不明の風太郎です。エンジニアなのかコンサルタントなのか、講師業なのか、わけわからない状態です。(汗)
今回事情により、クラウド上での分析環境をAnacondaで再現してみようと思いました。必要ではないのですが、できると大変便利になります。
結論をいうと失敗しました。 その過程をここに記録しておきます。だれかの参考になるかも?

参考にしたサイト

qiita.com ここに書いてあるように一発でうまくいけばOKです。Anaconda同士で、同じOSならばうまくいきました。(OSが違うとかなり難しいそうです) しかし、元はDockerでPipインストールです。WindowsでもDockerを使えばいいのですが、GPUを使いたため、WIndowsDockerは使用できません。 (GPUがうまく使えない)
 将来的にはLinuxをブートしていこうと思いますが、今はそんな時間はありません。 そこで、うまくいくかどうかはわかりませんが、仮想環境上にPipでインストールしようと思います。

qiita.com こちらからPipの読み出し方と、環境構築があります。

minus9d.hatenablog.com ここでは仮想環境の作り方をかいてあります。

やったこと

まず仮想環境を作ります。 pipだけではライブラリしかわからないため、Pythonのバージョンを確認します。

Python 3.5.2 でした

$ conda create --name testenv python=3.5.2

と入力するとエラーがでました。

$ conda create --name testenv2 python=3.5

こっちじゃないとだめなようです。

こんな感じでとりあえず、インストールできたっぽいです。 AnacondaのGUIからは仮想環境ができていることがわかります。しかし、Windowsメニューからはその仮想環境があることがわかりません。
さて困りました。
つくった仮想環境上からpippipを使いたいのです。
案としては次の二つです

  • プロンプトから仮想環境に入る
  • 仮想環境をWindowsメニューの登録する

 一つ目は手軽ですが、JupyterとかもWIndowsメニューから起動したいので、二つ目の案を考えることにします。

まず、condaをアップデートしたら勝手にメニューに登録してくれるのではないか?と考えてアップデートしてみます。

$conda update conda

です。
結果としては変わらないどころがPromptとかのメニューが消える始末。 GUIから仮想環境作成してもだめでした。

 どうも、環境自体が壊れたようです。結局再インストールです。
この時やらかしてしまいました。以前一生懸命作った仮想環境をバックアップせずにアンインストールしてしまいました。
おかげで仮想環境が消えてしまいました。すべて作り直しです 。
 今回はAnacondaVer2019.7をインストールします(その前は2019.3)これでうまくいくかと期待したけど同じでした。
そこで、GUIからは環境を呼び出せるのでまずは環境を構築します。
Windowsメニューに登録するのは別途次のサイトに従うことにします。

izmmr.blog.jp

$conda info --envs

で確認した後。

‘‘‘ $activate testenv2 ‘‘‘

で仮想環境に切り替えます。Windowsの場合は

‘‘‘ (testenv2) C:\Users\ユーザ名> ‘‘‘ という形でPromptが表示されます。このブログでは一般的な表記で”$”を使っています。

$pip install -r requirements.txt

でインストールを行います。

これでは、Jupyterがうまくインストールされません、AnacondaのGUIからのインストールも拒絶されて、Pipでインストールしました。

$pip install jupyter

しかし、これもうまくインストールできず、Jupyterが起動しません。
そこで最初から

$conda create --name testenv3 python=3.5 jupyter
$activate testenv3
$pip install -r requirements.txt

と行ってみました。

このあとpipでインストールしましたが、pipでインストールされた分はうまくライブラリを認識していませんでした。 Jupyter上から行っても一緒です。
そこで、

$pip install ライブラリ名

としたところ認識しました。

試しに管理者モードで実行したところ、今度はうまくインストールできました。
しかし、いろいろ依存関係が厳しくて、そのままではインストールできませんでした。  ここで気力付きました。あきらめて、必要なライブラリだけcondaでインストールしたり、Pyenvを使えばよかったと後悔しました。