Virtualbox・VagrantによるUbuntu仮想環境にPython環境を構築する

Virtualbox・VagrantによるUbuntu仮想環境にPython環境を構築する(macOSBigSur)

目次

  1. VirtualBox仮想環境を構築する
  2. Pyenvを使ってPython環境を構築する
  3. 仮想環境下でのJupyter Notebookの起動

VirtualBox仮想環境を構築する

最新バージョンをインストール

VirtualBoxとVagrantのそれぞれの最新バージョンをインストールします。

  • macOS BigSur 11.4 (ホストOS)
  • ubuntu18.04 (ゲストOS)
  • VirtualBox 6.1.22
  • Vagrant 2.2.16 64bit
ダウンロード・インストールしたら、ターミナルを開いてmacローカルの任意の場所に仮想環境用のフォルダ(任意の名前)を作成してそこへ移動しておきます。その場所でディレクトリVagrantBoxで追加するLinux(ubuntu18.04)OSを配置しておくためのディレクトリ(ここではディレクトリ名ubuntu64_008としておく)を作成し、そこへ移動し、さらに共有フォルダ用のディレクトリ(ここではディレクトリ名をworkspace19とする)を作成しておきます。
 
$ mkdir vvv
$ cd vvv
$ mkdir ubuntu64_008
$ cd ubuntu64_008
$ mkdir workspace19
 
VagrantCloudから適切なVagrantBoxとバージョンを選びます。
Vagrantfileの作成

$ vagrant init ~(VagrantBox名)でVagrantfileが作成されます。ここでは、ゲストOSをUbuntu18.04にしたいので

$ vagrant init ubuntu/bionic

とします。次に、作成されたVagrantfileを編集します。

  • ローカル環境と仮想環境の共有フォルダ設定

先に作成しておいたフォルダ:workspace19を共有フォルダにするために

config.vm.synced_folder “./workspace19”, “/home/vagrant/workspace19”
 
を追記します。
 
  • ゲストOSとホストOS間のポートフォワーデイング設定

config.vm.network “private_network”, ip: “192.168.33.10”

この行をコメントアウトすることで、例えばWebアプリケーションを構築する際にこの場合では仮想環境でゲストOSからホストOSのブラウザに”192.168.33.10:8000~”でアクセスすることができます。場合によっては省略可能です。

  • Vagrantfileは下に示すとおりになります。

VagrantBoxでUbuntu環境を構築する

Vagrantfileを編集したら下記のコマンドでVagrantBoxによりゲストOSのubuntu18.04を構築することができます。

 
アドレス内の~/20210402.0.0/~はバージョンを指しているので、VagrantCloudのサイトから適当なバージョンを選んで指定しても構いません。
Boxのインストールが完了したら、下記のコマンドを実行していき、ubuntuの仮想環境を構築していきます。
 
$ vagrant up     =>時間かかります
$ vagrant status     =>runningと示されればOK
$ vagrant ssh      =>仮想環境にログインする
 
 

Pyenvを使ってPython環境を構築する

Pythonやanaconda3をインストールするのに、pyenvライブラリを使用します。

Pyenvインストールに必要なライブラリをインストール

次のコマンドでpyenvに必要なライブラリをインストールし、最後にpyenvをgit cloneしてインストールします。

$ sudo apt install -y build-essential libssl-dev libffi-dev python-dev

$ sudo apt install build-essential libbz2-dev libdb-dev libreadline-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libsqlite3-dev libssl-dev zlib1g-dev uuid-dev tk-dev

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Pyenvのパスを通す

pyenvのパスを通します。仮想環境のゲストOS ubuntu18.04の場合は、.profileにパスを追記していきます。

$ echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.profile
$ echo ‘export PATH=”$PYENV_ROOT/bin:$PATH”‘ >> ~/.profile
$ echo -e ‘if command -v pyenv 1>/dev/null 2>&1; then\n eval “$(pyenv init –path)”\nfi’ >> ~/.profile
$ echo ‘eval “$(pyenv init –path)”‘ >>~/.profile
$ echo ‘export PYTHONPATH=:”$HOME/tegant/app”‘ >>~/.profile
 
最後に下記コマンドでエラーがでなければOKです。
 
$ source ~/.profile
Python・anacondaのインストール

pyenvコマンドの

$ pyenv install –list

でインストールするpython・anacondaなどのバージョンを選択します。

選択したら次のコマンドでインストールします。機械学習などを使用する場合には、anacondaのバージョンを選択すると良いでしょう。

$ pyenv install 3.8.4

$pyenv install (バージョン・もしくはリスト名)でコマンドの例はpython3.8.4をインストールする場合です。インストールが完了したら、次のコマンドでシステムに使われているpythonのバージョンを確認します。

$ pyenv versions

*印が付いているバージョンをシステムに利用指定しているので、例えばpython3.8.4を指定したい場合には次のようにします。

$ pyenv global 3.8.4

指定したら読み込み設定をして反映させます。

$pyenv rehash

最後にpythonのバージョンを確認して、指定どおりのバージョンになっていれば成功です。

$ python -V

適宜必要なライブラリは、pip install ~でインストールし、インストールされているパッケージの確認は、pip list で行って下さい。

仮想環境下でのJupyter Notebookの起動

$ jupyter notebook –no-browser –ip=0.0.0.0 –allow-root

仮想環境の場合は上記のコマンドを実行し、その結果示されたURLにアクセスすることで、ブラウザが起動して、Jupyter notebookを利用できるようになります。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です