はじめに
Ubuntu16.04を使ってpython3系を書きながら開発をしていく方に向けて、この記事を見ながら進めていけば構築ができるようにまとめました。
僕自身も会社で上記の環境で開発をしていますが、試しに自宅にあるMacを使ってトライしましたが、1から構築して環境を作ることができました。
ところどころ画像も取り入れながらまとめてあるので、ぜひ参考にして見てください。
環境
- MacOS Sierra (10.12.4)
仕様
- MacにVagrantを使ってUbuntu16.04の仮想環境を構築する
- python 3.6.1(任意で変更可能)
- vagrant Version: 1.9.5
アジェンダ
-
(1)必要なものをインストール
-
(2)vagrantで仮想環境のセットアップ
-
(3)pyenvと
-
(4)ホストOSのエディタを使ってゲストOSのファイルを編集したい場合
構築方法
(1)必要なものをインストール
- Vagrantをインストール(Mac OS X を選択)➡︎
https://www.vagrantup.com/downloads.html
↑クリックして開く
↑vagrant.pkgをダブルクリックし、インストール
- VirtualBoxをインストール(Mac OS を選択)➡︎
https://www.virtualbox.org/wiki/Downloads
↑クリック
↑virtualBox.pkgをダブルクリック
- ubuntuのboxが入ったVagrantを取ってくる(少し時間がかかる)
$ vagrant box add ubuntu16.04 https://atlas.hashicorp.com/bento/boxes/ubuntu-16.04/versions/2.3.0/providers/virtualbox.box
- boxが追加されているか確認する
$ vagrant box list
=> bento/ubuntu1604 (virtualbox, 0)
- 仮想環境を置くディレクトリを作る
$ mkdir vagrant_env(任意の名前)
$ cd vagrant_env(任意の名前)
(2)vagrantで仮想環境のセットアップ
- 仮想環境を作る
$ vagrant init bento/ubuntu1604
- Vagrantfileが作られているか確認
$ ls
=> Vagrantfile
- 仮想マシンを起動
$ vagrant up
- 仮想マシンにssh接続
$ vagrant ssh
vagrant@vagrant:~$
(参考)vagrantコマンド一覧
1 | 2 |
---|---|
vagrant box add {VM名} {boxファイルダウンロードURL} | box追加 |
vagrant box list | 利用可能box一覧確認 |
vagrant box remove {box名} | boxの削除 |
vagrant init | vagrant 初期化(Vagrantfileの作成) |
vagrant up | vagrant 起動 |
vagrant ssh | vagrant ログイン |
vagrant halt | vagrant 終了 |
vagrant reload | vagrant リロード(halt + up) |
vagrant destroy | vagrant 破棄 |
(3)pyenvとpyenv-virtualenvで環境を整理する
- パッケージをアップデートする
vagrant@vagrant:~$ sudo apt-get update
- pyenv をcloneする
vagrant@vagrant:~$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
- pyenv-virtualenvをcloneする
vagrant@vagrant:~$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
- 環境変数を設定する
vagrant@vagrant:~$ vim ~/.profile
(以下を追記)
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
- .profileを読み込む
vagrant@vagrant:~$ source ~/.profile
- インストール可能なpythonのバージョンを確認
vagrant@vagrant:~$ pyenv install -l
- 目的のバージョンをインストール(今回は3.6.1)
vagrant@vagrant:~$ pyenv install 3.6.1
pyenv-virtualenv活用
- 同じバージョンをコピーしてpyenv-virtualenvで環境を作る
vagrant@vagrant:~$ pyenv virtualenv 3.6.1 venv_3.6.1(任意の名前)
pyenv-virtualenvの環境に入る
vagrant@vagrant:~$ source /home/vagrant/.pyenv/versions/venv_3.6.1/bin/activate
(venv_3.6.1) vagrant@vagrant:~$
- バージョンの確認
(venv_3.6.1) vagrant@vagrant:~$python -V
=>3.6.1
- 環境の停止
(venv_3.6.1) vagrant@vagrant:~$ deactivate
vagrant@vagrant:~$
(4)ホストOSのエディタを使ってゲストOSのファイルを編集したい場合
- 仮想環境から出る
vagrant@vagrant:~$ exit
- Vagrantfileを編集
$ vi Vagrantfile
以下の部分のコメントアウトを外し、編集
config.vm.synced_folder "(共有したいホストOSのディレクトリ)", "共有したいホストOSのディレクトリ",
create: true, owner: "vagrant", group: "vagrant"
(例)
config.vm.synced_folder "../vagrant_env", "/home/vagrant"・・・
- vagrantfileを再読み込み
$ vagrant reload
最後に
これで環境は構築できたと思います。このあとは それぞれの環境で
必要なライブラリをインストールして、「この環境はこのプロジェクト専用」を意識してpyenvやpyenv-virtualenvをうまく利用して開発していきましょう。
ひととおりコマンドの羅列となってしまいましたが、コマンドの説明なども交えて記事を編集していきます。