投稿日: | 最終更新日:
VagrantでCentOS7 + Python + Django環境を作る(その2 Pythonとpyenv + virtalenv)
Vagrantを使い、WebフレームワークであるDjangoを環境を作ります。その前に、仮想環境にPythonをインストールします。
仮想環境にPythonをインストール
前回、VagrantにCentOS7を立てました。今回は、ここにPythonをインストールしたいと思います。また変な話ですが、Pythonのバージョン管理ができるように、仮想環境の中に仮想環境(pyenv + virtalenv)をつくります。
準備
Vagrantでゲスト環境(仮想環境)を作ります。ゲスト環境の中にDjangoを構築します。その前に、以下の作業を終わらせましょう。
①Virtualboxをインストールします。Virtualboxのインストールまでで結構です。
→VirtualBoxをインストールする for Ubuntu
②Vagrantをインストールします。centos7環境を作りますので、Vagrantのインストールのみ済ませてください。
→Vagrantをインストールしてテスト環境を作る for Ubuntu
③Vagrantにcentos7環境を作ります。
→VagrantでCentOS7 + Python + Django環境を作る(その1 仮想環境作成)
ホスト環境
OS | Ubuntu 16.04.1 LTS 64bit |
---|---|
Virtualbox | 5.1 |
Vagrant | 1.9.5 |
ゲスト環境
OS | CentOS 7.1.1503 |
---|---|
Python | 3.6.1 |
pip | 9.0.1 |
Web フレームワーク | Django 1.11.2 |
データベース | MariaDB 5.5.52-1.el7.x86_64 |
Webサーバ | nginx 1.13.2 |
Vagrantへログイン
①【ホスト環境】端末を開き、前回構築したVagrantのディレクトリまで移動します。
cd vagrant/django_apps/
②【ホスト環境】仮想マシンを起動します。
vagrant up
③【ホスト環境】ログインします。
vagrant ssh
ゲスト環境にPython3インストール
CentOS7では、デフォルトでPython2.7.5がインストールされています。以下のコマンドで確認することができます。
python --version Python 2.7.5
①【ゲスト環境】srcディレクトリに移動します。
cd /usr/local/src
②【ゲスト環境】以下のサイトからダウンロードするバージョンを探します。
③【ゲスト環境】python3.6.1をダウンロードします。
sudo wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
④【ゲスト環境】圧縮ファイルを解凍します。
sudo tar xzvf Python-3.6.1.tgz
⑤【ゲスト環境】lsコマンドを実行し、解凍できたか確認します。
ls -l -a 合計 22024 drwxr-xr-x. 3 root root 48 6月 26 23:55 . drwxr-xr-x. 12 root root 4096 11月 5 2016 .. drwxr-xr-x 17 501 501 4096 3月 21 07:47 Python-3.6.1 -rw-r--r-- 1 root root 22540566 3月 21 07:47 Python-3.6.1.tgz
⑥【ゲスト環境】lsコマンドを実行し、解凍できたか確認します。
cd Python-3.6.1 sudo ./configure sudo make sudo make altinstall
⑦【ゲスト環境】インストールが完了したら、バージョンを確認します。
/usr/local/bin/python3.6 --version Python 3.6.1
⑧【ゲスト環境】Python 3.6.1コマンドのPATHを通します。
sudo ln -s /usr/local/bin/python3.6 /usr/bin/python3
⑨【ゲスト環境】パスを通せば、「python3」コマンドでPython3.6.1を呼び出すことができます。つまり、用途に応じてPython2系とPython3系を使い分けることができます。
python3 --version Python 3.6.1 python --version Python 2.7.5
ゲスト環境にpipをインストール
Pythonのパッケージマネージャであるpipをインストールします。
①【ゲスト環境】現在インストールされているパッケージを表示します。
python3 -m pip list
※Python2系では2.7.9以降、Python3系では3.4以降からpipがデフォルト機能としてインストールされています。
②【ゲスト環境】pipが古い場合はアップデートします。
sudo python3 -m pip install --upgrade pip
③【ゲスト環境】pipのバージョンを確認します。
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
④【ゲスト環境】pipを使うたびに「 python3 -m pip」というコマンドを打つのは面倒です。シンボリックリンク「pip3」コマンドでPython3系のpipを呼び出すようにします。
sudo ln -s /usr/local/bin/pip3.6 /usr/bin/pip3 pip3 --version pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
ゲスト環境にpyvenvをインストール
pyenvは、利用パッケージやpythonのバージョンを、プロジェクト単位で切り替えることができる仮想実行環境です。
開発段階においては、複数の機能実装を並行して開発する場合が多くなります。仮想実行環境を利用することでより、アプリケーションごとに開発環境を切り替えてテストしたり、動作させるためのパッケージを明らかにすることができます。
①【ゲスト環境】OSのバージョンを確認します。
uname -r 3.10.0-229.el7.x86_64
②【ゲスト環境】CentOSで必要となるパッケージのインストールします。
sudo yum -y install git sudo yum -y groupinstall "Development Tools" sudo yum -y install readline-devel zlib-devel bzip2-devel sqlite-devel openssl-devel
③【ゲスト環境】pyenvをcloneします。
→https://github.com/pyenv/pyenv
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
④【ゲスト環境】「~/.bash_profile」を編集します。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile source ~/.bash_profile exec $SHELL -l
ゲスト環境にvirtualenv をインストール
①【ゲスト環境】virtualenvをcloneします。
→https://github.com/yyuu/pyenv-virtualenv
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
②【ゲスト環境】「~/.bash_profile」を編集します。
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile exec $SHELL -l
ゲスト環境にpyvenvで仮想環境を構築
①【ゲスト環境】使いたいバージョンをインストールします。
pyenv install 3.6.1
②【ゲスト環境】インストールしたバージョンを確認します。
pyenv versions * system (set by /home/vagrant/.pyenv/version) 3.6.1
③【ゲスト環境】「/vagrant」ディレクトリにアリケーション用のディレクトリを作ります。
cd /vagrant/ mkdir django_apps cd django_apps/
④【ゲスト環境】仮想環境を作ります。
pyvenv-3.6 venv_app1
あれ?非推奨と出てしまいました。
WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`
⑤【ゲスト環境】仕切り直しに「venv_app1」ディレクトリを削除し、もう一度仮想環境を作成します。
python3.6 -m venv 環境名
rm -rf venv_app1 python3.6 -m venv venv_app1
⑥【ゲスト環境】venvを有効化します。
cd venv_app1 source ./bin/activate
以下のようなプロンプトが表示されれば有効化完了です。
(venv_app1) [vagrant@localhost venv_app1]$
⑦【ゲスト環境】環境を確認します。
python --version Python 3.6.1
which python /vagrant/django_apps/venv_app1/bin/python
pip --version pip 9.0.1 from /vagrant/django_apps/venv_app1/lib/python3.6/site-packages (python 3.6)
⑧【ゲスト環境】仮想環境を無効にするには以下のとおりです。
deactivate
再度仮想環境を有効にします。
source ./bin/activate
次回
次回は、ゲスト環境(仮想環境)にMariaDBをインストールします。
- Python 113
- 制作 54
- RaspberryPi 41
- Django 40
- WordPress 40
- Linux 27
- VPS 22
- JavaScript 21
- PHP 20
- HTML・CSS 19
- AWS 16
- 仮想環境 15
- レスポンシブデザイン 13
- マイコン 11
- WEB全般 11
- 動画製作 9
- Webサービス 8
- 統合開発環境 8
- PyCharm 7
- jQuery 7
- 機械学習 7
- AfterEffects 7
- 起業・設立 7
- Django REST framework 6
- C# 6
- デザイン 6
- SEO 6
- pydata 6
- Visual Studio 5
- 数学 5
- 携帯サイト 5
- heroku 5
- Mac 5
- illustrator 5
- node.js 5
- Anaconda 5
- Nginx 4
- Jupyter Notebook 4
- インフラ 4
- symfony 4
- Webスクレイピング 3
- photoshop 3
- Go言語 3
- PC 3
- Google Colaboratory 3
- ツール 3
- Docker 3
- facebook 3
- 作業効率化 3
- データベース 3
- Cloud9 3
- コマンド 2
- micro:bit 2
- Kali Linux 2
- Webサーバー 2
- MariaDB 2
- ドローン 2
- コンテナ 2
- DaVinci Resolve 2
- ネットワーク 2
- Java 2
- movie 2
- PCDJ 2
- 音楽 2
- XSERVER 2
- Ansible 1
- Vue.js 1
- JSON 1
- Bootstrap 1
- バージョン管理システム 1
- SSL 1
- S3 1
- ムームードメイン 1
- ネットワーク 1
- アニメーション 1
- D3.js 1
- Rhino 1
- アニメ 1
- git 1
- windows 1
- アクセス解析 1
- スマートフォン 1
- アフィリエイトノウハウ 1
- 知識 1
- TypeScript 1
- 役立つ本・書籍 1
- データサイエンス 1
- ESP32 1
- AI 1
- ownCloud 1
- API 1