注意!
結論から申しますと、この記事は、私のやりたい事に対する環境構築としては失敗しておりますので、あまり参考にされない方がよろしいかと思います。後日part2として記事をUP致しますので、そちらで解説を行っていこうと思います。
私は最近釣りにハマっていて、水温データとクロロフィルa濃度を使って釣り場を特定するwebアプリを作ろうと思い立った。
google先生と押し問答を続けた結果、最終的にたどり着いたサイトがこちら
anacondaで仮想環境を構築していざ挑戦!と思っていたのもつかの間…
んー…必要なモジュールのインストールの時点でWindowsに対応してないし…
調べれば調べるほど、バージョンの問題やら競合やら色々出てきて結局動かず…
いっそのことDockerを使ってcentos7の仮想環境上で試してみようと思う。
Dockerを使うこと自体は初めてではないのだが、以前知り合いに導入してもらった、たった一つの環境を擦り切れるほど使っていた。
だが今回、初めてDockerを一から操作して、仮想環境を構築することを決意。
備忘録を残せば、あとで見返せる&outputもできて記憶に留めることができると聞いたことがあるので、ブログにも初めて挑戦する。
Dockerの環境構築
とりあえずDockerのインストールは終わっているので、PowerShellを開いてコマンドで操作していく
まずはDockerイメージを取得して
docker pull centos:centos7
コンテナを作成&起動
docker run -it --name="Tellus" centos:centos7 /bin/bash
Centos7の設定
コマンドパッケージをインストールする
yum -y install sudo
pyenvのgithub
を見ていると必要なコマンドパッケージがあるらしく、そちらもインストール
これをインストールしないとPythonをインストールできずにエラーが起こり、台パンすることになる。
yum install gcc make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
その後、色々調べていくと、どうやら[root]のアカウントは使用しない方がいいらしい
ということで、新しいアカウントの作成と
useradd ユーザー名
パスワードの設定を行う
passwd ユーザー名
新規に作成したユーザーへの切り替え
この時に、パスワード入力も求められるのだが、webサイト等のパスワード入力のように[****]と分かりやすい記号が出てくるわけではなく無言。(間違えたときに修正するのが面倒…)
su - ユーザー名
と、ここまでスムーズにできたわけではなく、紆余曲折あり数回台パンを繰り出した。
続いてpyenvを導入していく
pyenvの導入
pyenvやAnacondaの導入に関して、色々なサイトがあるが結局一番わかりやすかったのはGitHub
pyenvをGitHubからダウンロード
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
コマンドのPATHを通していくのだが、この時に注意すべきなのが、[~/.bashrc]、[~/.profile]、[~/.bash_profile]
このすべてにPATHを通さないとpyenvのコマンドを認識してくれないため台パンする。
まずは、[~/.bashrc]
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
次に、[~/.profile]
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init -)"' >> ~/.profile
最後に、[~/.bash_profile]
(順番は関係ない)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
そして、変更したPATHを有効にするためにシェルを再起動してpyenvは終了
Anacondaの導入
ここまで来れたらあとは簡単!
まずはAnacondaのバージョンを確認して、どれを入れるか決める
pyenv install -l | grep anaconda
入れたいバージョンに合わせてインストール
pyenv install anaconda3-2020.07
ちなみに、バージョン指定しないと最新バージョンを導入する
pyenv install anaconda3
次に、AnacondaのPATHを通していく
pyenv rehash
pyenv global anaconda3-2020.07
echo 'export PATH="$PYENV_ROOT/versions/anaconda3-2020.07/bin/:$PATH"' >> ~/.bashrc
一度ログインし直す
su - $ユーザー名
condaコマンドが実行できれば成功!
conda info
ここまで来るのに、一日かかってようやく仮想環境を構築することができた…
参考サイト
【入門】はじめての Docker Desktop for Windows のインストールと CentOS の仮想環境構築のセットアップ
pyenv GitHub
CentOS7にAnacondaをインストールする手順