目的
Windowsで開発してもいいことないのでvagrantにcentos7.3のboxを入れてPython3.6もインストールして環境構築する。
2018-06-23 box追加のときの作業が抜けていたので追加、ついでにエラー対応方法も追加
作業環境
Windows8.1
Vagrant 2.0.2
VirtualBox 5.2.6
参考URL
https://app.vagrantup.com/bento/boxes/centos-7.3
https://qiita.com/ozawan/items/160728f7c6b10c73b97e
https://weblabo.oscasierra.net/python3-centos7-yum-install/
https://qiita.com/H-A-L/items/5d5a2ef73be8d140bdf3
実構築
Vagrantとvirtualboxのインストール
CentoOS7.3を起動
Vagrantとvirtualboxのインストール
VirtualBoxは仮想マシンを作るソフト
Vgrantは仮想マシンが簡単に作れるソフト
●Vagrant
https://www.vagrantup.com/
●Virtualbox
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
それぞれファイルをダウンロードしてインストールする
CentoOS7のインストール
コマンドプロンプトを開いたら下記を入力
boxを追加する(やらないとあとで使用するinitコマンドでエラーが出る)
bento/centos-7.3などのbento系boxはシェフ社が用意してるboxファイルらしいです。
vagrant box add bento/centos-7.3
下記のように出るので「2」と入力してEnter
==> box: Loading metadata for box 'bento/centos-7.3' box: URL: https://vagrantcloud.com/bento/centos-7.3 This box can work with multiple providers! The providers that it can work with are listed below. Please review the list and choose the provider you will be working with. 1) parallels 2) virtualbox 3) vmware_desktop Enter your choice:
このときテキストが出ず、下記のようなエラーが出る場合、VirtulBoxやVagrantのバージョンが低い場合があるのでバージョンアップする。
といっても公式サイトからVirtulBoxとVagrantをDLしてきてインストールするだけでいいはず。
(windowsの場合はアンインストールせずに再インストールするだけでバージョンアップできた)
The box 'bento/centos-7.3' could not be found or could not be accessed in the remote catalog. If this is a private box on HashiCorp's Atlas, please verify you're logged in via `vagrant login`. Also, please double-check the name. The expanded URL and error message are shown below: URL: ["https://atlas.hashicorp.com/bento/centos-7.3"] Error: The requested URL returned error: 404 Not Found
boxが追加できたらcdコマンドで仮想マシンを置きたいフォルダに移動
(デスクトップとかにmy_centos73_dirとかフォルダ作ってパスをコピーする)
下記のようにmkdir とかでフォルダ作ってもいい
mkdir my_centos73_dir cd my_centos73_dir
さきほど追加したboxを初期化する
vagrant init bento/centos-7.3
初期化するとmy_centos73_dirフォルダ内にvagrantfileができるので、これをテキストエディタで開き、下記行の先頭の#マークを外して保存。
このipが仮想マシンのipになる。
# config.vm.network "private_network", ip: "192.168.33.10"
同じコマンドプロンプトで下記を打って仮想マシン起動
vagrant up
このとき下記エラーが出たらPowerShellのバージョンが低いかららしいのでおとなしくバージョンをあげよう(Windows7とかで起きる)。
参考:PowerShellのバージョンアップをする
The version of powershell currently installed on this host is less than the required minimum version. Please upgrade the installed version of powershell to the minimum required version and run the command again. Installed version: 2 Minimum required version: 3
Winscpとか適当なFTPソフトで下記みたいに入力して保存、ログインをクリックすればサーバーに入れるはず。
パスワードはvagrantのboxはだいたい『vagrant』で統一されているのでそれを入力する
下記の画像のようにフィンガープリントがどうのこうのとでてくるので「はい」押す
以下はsshで作業するのでsshで
とりあえずsuと打ってroot(なんでもできる管理者権限、全てのデータを消せるので本来は危ない)になってみる
rootパスワードを聞かれるのでvagrantを入力する。
vagrantでは一応vagrantもrootもパスワードはvagrantに初期設定してあるらしい
exitとうつとrootをやめて元のvagrantユーザーに戻れる
exit
システムをアップデートする、とても時間がかかる
sudo yum update
Pythonをインストールする
今まで一度もインストールした記憶がないので参考サイトに従って作業する
最新のソフトウェアをそろえておいてくれるリポジトリ(ソフトウェア置き場みたいなもの)らしい
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
今(2018-04-27)は3.6系が最新らしいので検索
sudo yum search python36
よく使うパッケージもインストールする
sudo yum install -y python36u python36u-libs python36u-devel python36u-pip
バージョンの確認
python3.6 -V Python 3.6.5
インストールされた場所の確認
which python3.6 /usr/bin/python3.6
ちなみにこのままpythonと打ってもpython2で実行される。
なのでエイリアス(別名)を設定してpython3実行時にpython3.6とかいれなくてもいいようにする
sudo ln -s /bin/python3.6 /bin/python3
これでpython3と打つとpython3がコマンドラインで実行できるモードになる
python3 Python 3.6.5 (default, Apr 10 2018, 17:08:37) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
Python 3.6.5と出ているので大丈夫そう
下記でこのモードを終わらせる
>>> exit()
一応python2も動くか確認する、Python 2.7.5て出ているので大丈夫そう
python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
ファイルに書いたpythonを動かす場合は、バージョン別でそれぞれ下記のように書く
/home/vagrant/にあるtest.pyを実行する場合
python /home/vagrant/test.py python3 /home/vagrant/test.py
感想
インストール直後にsshがinactiveになってインストールしたpythonが消えたのが気がかりだけど理由は最後までわからなかった…。
→ディレクトリ名とip変更したらなんか解決した
https://noarts.net/archives/486