Python学習【365日チャレンジ!】258日目のマスターU(@Udemy11)です。
釣りに行っている時間がないにも関わらず、風がなく晴れの予想だったので、最近好調のエギングに行ってきました。
前の釣行から数日経って、潮も小潮とそんなに期待はできないのかなと思っていました。
風はなく、潮位もそんなに下がっていなかったので、いい感じかもとおもってスタートすると、いきなり根がかりで今まで一番釣れていたエギをロストしてしまいがガックリ。。。
気を取り直して始めるも、1時間でコロッケサイズが1杯と寂しい状況だったので、「そろそろ帰ろうかな〜」と考えてフルキャストして沈めていると、底に当たるような感覚があり、ロッドをしゃくると重たいので、「根がかりかよ〜!」と思った瞬間、ドラグが出ていく強い引きで興奮度MAXに!
トンカツサイズだとそんなに引かないので、今回はじめてアオリイカのジェット噴射の引きを体験しました。
エギングでアオリイカを釣りまくっている人にとっては、レギュラーサイズかもしれませんが、私にとってはかなり満足度の高い一杯になりました。
それでは今日もPython学習を始めましょう。
昨日の復習
昨日は、Ansibleの自動化で共通の処理を行うcommonサーバーを設定しました。
playbookファイルを分割して記述したり、hostの設定などを記述したりして、server2のcommonサーバーを設定しました。
詳細については、昨日の記事をごらんください。
今日は、昨日ハマったポイントを健忘録的に記録しておきます。
site.yaml
まず、最初にエラーが起こったのがsite.yml
ファイルで、コードはきちんと書いているのですが、どうにもエラーがおこってしまいました。
---
- hosts: webservers
roles:
- common
...
こんな簡単なコードなので、間違うはずがないのですが、3行目の:
がなにかおかしいというエラーでした。
エラーコードをキャプチャするのを忘れていたので、画像は残っていませんが、酒井さんが提供してくれている最後のファイルをダウンロードして、コードをコピー・ペーストすれば問題なく動きました。
もしかしたら、全角スペースが入っていたか、:
が全角になっていたのかもしれません。
Install packages
次のエラーがInstall packages
のエラーです。
こちらのコードは、2つのパッケージをwith
ステートメントを使ってインストールする下記のようなコードです。
- name: Install pacakges
apt:
name: "{{ item }}"
with_items:
- python-setuptools
- software-properties-common
どうもwith
ステートメントがうまく行っていない様子だったのと、どうやらAnsibleではPython2.7のsetuptools
が使えない様子だったため、次のようにコードを書き換えたところ、ここはうまくクリアーしました。
- name: Install packages
apt:
name:
- python3-setuptools
- software-properties-common
Ansibleのバージョンが上がっているからなのかどうかわかりませんが、with
ステートメントを使用しなくても問題がなく動き、シンプルなコードになりました。
Install pip
次のエラーがInstall pip
で、どうやらeasy_install
がうまく働いていない様子でした。
これは、次回学習するwebsever
のFlaskのインストールで問題が起こって解決したというQ&Aを参考にして、次のようなコードを書いたのですが、どうもうまくいかず。。。
- name: Install pip
command: "sudo apt-get -y install python-pip python3-pip"
次に、素直にInstall packages
と同じ書き方でいいんじゃない?とおもって同じ書き方にしてみるとエラーが起こりませんでした。
- name: Install pip
apt:
name:
- python-pip
- python3-pip
state: latest
まとめ
ほんとエラーが起こると、どこが間違っているのか原因を突き止めるのに時間がかかってしまいます。
一つ見つけても、また次にエラーが起こって、直したら元のコードが再びエラーが起こるようになったりしました。
よくよく見ると、作業しているときに変な文字がタイプされてしまっていたりするのですが、何度も同じコードを見るのはとても大切です。
実は今回、あまりにもエラーが頻出するので、途中でいらないことをしてしまっているかもしれないので、一旦Vagrantで作成したサーバーをvagrant destory
を使って削除して、再度vagrant up
でサーバーを構築しました。
どの段階で再構築したのか忘れてしまいましたが、いざとなればすべての設定が準備されているので、このあたりが自動化のいいところじゃないかと思います。
使用している環境によってもエラーが出るでないが変わってくるので、自分でいろいろと試して解決するようにがんばりましょう!
それでは明日もGood Python!