/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

VagrantでPython環境をサクッと作る(CentOS7、Python2.7、awscli、ffmpeg)

f:id:yatta47:20210105005321p:plain

CentOS7でPython2.7が動き、awscliが使える、ffmpegが使える環境が必要になったので、その環境をVagrantで作るための備忘録。

この辺、毎回やっているけど毎回どっかの手順を参考にしているから自分でもまとめておこうと思う。

基本的な流れ

ですね。

vagrantを準備

Windows側の作業です。

任意の場所にディレクトリ(例:C:\Users\yatta47\vagrant\python_env)を作り、そこでVagrantファイルを作成します。

vagrant init centos/7

これでVagrantfileが作ったディレクトリに出来ているはずです。

そして後はアップするだけ。

vagrant up

つらつらとたくさんログが出ますが、状態を確認して、runningになっていればOK。

vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

そのあと、Vitual Studio Codeからsftpでファイル転送できるようにしておきたいので、一度vagrantの設定を変更して、固定IPを振ります。そしてreload。

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  config.vm.network "private_network", ip: "192.168.33.30"

これでvagrant関連は終了。

CentOSでアプリインストール

pythonが入っているかどうか確認したところ、python2.7が入っていたのでそのまま使います。それではpipをインストール。

$ sudo su -
# yum install epel-release
# yum install python-pip
# pip install pip --upgrade

awscliのインストール

pip install awscli --user

あとはawscliの設定などをして使えるようにします。

ffmpegをインストール

コンパイルするのはめんどくさいので、静的バイナリを持ってきます。

CentOS7の標準ではwgetやgitも入っていないので、wgetをインストールしてダウンロードしてきます。

$ sudo yum install wget git
$ wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz

xzっていう珍しい形の圧縮形態ですが、xzコマンドで解凍できます。

$ xz -dv ffmpeg-release-64bit-static.tar.xz
$ tar xvf ffmpeg-release-64bit-static.tar

後は解凍した実行ファイルを/usr/local/binなど、パスが通っているところに配置して終了。

まとめ

方法的にDockerでやる方法もあるかなーと。

今回、この環境を作ったうえでやってみたところ、Dockerでやる必要が出てきたのでその辺もどこかで書こうかな。

参考サイト

VirtualBox+VagrantでCentOS7環境構築 - Qiita

CentOS7 に pip と awscli をインストール - set setting reset