子育てしながらエンジニアしたい

現在 7 歳 女の子の子育て中エンジニアによる、技術系 + 日常系ブログ。

香川県移住体験ツアー1: 準備編

移住?

今まで Python とか Swift とか言ってたのに、急に移住とはなんぞや?!という感じですが、文字通り移住の検討をしています。

候補地は香川県

その香川県が、移住検討者に対して交通費半額助成という、なんともありがたいキャンペーンをしています。
その名も「あなただけのかがわ暮らし体験ツアー

幸運なことにその対象者として選んでいただき、実際にツアーを体験してきました。
本記事から 6 回にわたって、このツアーについて書いていきたいと思います。

あなただけのかがわ暮らし体験ツアーとは?

https://www.kagawalife.jp/news/?exec=detail&id=145

「興味はあるけれど、いきなり移住するにはハードルが高い」という方のために、お試しで移住体験をしていただける方を募集します。
あなただけの かがわ暮らし体験ツアー」を通して感じた「かがわ暮らし」の魅力を、移住を考える方々に発信していただきます。体験者の皆様には、移動に要した経費の一部を助成します。
紹介ページより

ひらたく言えば、移住を検討している人に対して交通費を半額支給するので、香川での体験を SNS で発信してください、というものです。
交通費ってとても高いので、半額支給はかなり魅力的ですよね。
ただ移住を検討していればどんな人でもオッケー!ではなく、条件があります。

対象者となる条件

次のすべての条件を満たす方
①県外在住の満20歳以上の方で、移住について香川県の相談窓口等で継続的に相談を行っている方
②移住体験をご自身のSNSで情報発信できる方で県等による取材対応も可能な方

自分の場合、1 については以前、かがわ暮らし体験隊について問い合わせたことがあり、このときは軽い相談をした程度なのですがそれで良いとのことでクリアできました。
2 に関しては、条件を満たさないかもと思っていました。
そもそも自分は SNS は全く使っておらず、このブログも 3 月に始めたばかりだったので...
でもありがたいことに、このブログでも良いとおっしゃっていただき、こちらもクリアできました。

と、いうわけで申請をすることにしました!

申請の流れ

流れはこちらに書いてあります。
ただちょっとわかりづらかったので、自分の場合はこうだったというのを紹介します。

  1. 対象者に当てはまるか、香川県政策部地域活力推進課さんに相談
  2. 移住コーディネーターさんと旅程について相談
  3. 書類を香川県政策部地域活力推進課さんに提出
  4. 香川県政策部地域活力推進課さんと最終調整

ひとつずつ、詳細に紹介します。

対象者に当てはまるか、香川県政策部地域活力推進課さんに相談

これは必要のないステップかもしれませんが、自分の場合は対象者に当てはまるか不安だったので、まず最初にこのツアーの主催者である香川県政策部地域活力推進課さんに相談しました。
私から「○○さんと移住相談してます!」と言わなくても、地域活力推進課のご担当者さまが調べてくれたので、とってもスムーズに確認することができました。

香川県政策部地域活力推進課
TEL.087-832-3125 Email.chiiki@pref.kagawa.lg.jp

移住コーディネーターさんと旅程について相談

あなただけの移住体験ツアーは、基本的に行き先は自由に決められます。
が、ここだけは訪問してくださいというのが 3 つあります。

  • ツアー開始時に、香川県政策部地域活力推進課でツアー内容の確認と取材
  • 空き家バンク掲載中の物件訪問 (1 件以上)
  • 市町移住担当部署の訪問 (1 件以上)

旅行の大まかな日程と行き先、見たい空き家バンク物件、行きたい市町役場を決めたら、これらに関して移住コーディネーターさんと相談をすることになります。

(相談先はかがわ暮らし体験ツアーの「相談先一覧」に書いてあります)

私の場合は相談のときに「自分と同じような立場の先輩移住者と面談したい!」とお願いしました。
こんなお願いって、なかなか難しいものだと思うのですが、快く引き受けてくれました。
そして、とてもありがたいことに空き家バンクを管理する不動産屋さん、訪問する役場と話をつけてくださり、行程を作ってくれました。
これは本当に助かりました...!!
ここまでできると、必要な交通費などもほぼ見えてきますので、次は書類提出のステップです。

書類を香川県政策部地域活力推進課さんに提出

自分の経歴や行程、必要になるだいたいの交通費などの書類を、地域活力推進課さんに提出します。
書き方はとても丁寧に教えてくれますので心配いりません。

香川県政策部地域活力推進課さんと最終調整

これは人によっては必要ないかもしれませんが、自分の場合は直前まで行程の変更をしました。
たとえば見たいと思っていた空き家バンクの 1 つが契約済みになってしまったりしたので、そのへんの最終調整を行いました。
これで申請手続きは完了です!

いざ出発!!

というわけで、次回からは実際にどんな体験をしてきたかを書きたいと思います。

香川県移住体験ツアーシリーズ

読書録 - Python クローリング & スクレイピング

Python データサイエンス

今年から Python によるデータサイエンスの勉強をしています。
データサイエンスというからには、まずはデータを集めなければいけない、ということで
Amazon で評判のよかった以下の本を購入して、読んでみました。

全体を通して感じたこと

この本の「おわりに」にも書いてある一言を痛感しました。

何も持たない個人であっても巨人の肩に乗って技術の力で世界を良くしていける、
プログラミングの面白さが詰まった分野です。

この本では、いろんなライブラリーを駆使してクローリング & スクレイピングするテクニックが書かれています。
今まで C 言語で組み込みソフトをゴリゴリ書いていた人間にとっては、

「こんな複雑なことが、これだけでできちゃうんですか...」

という衝撃を受けるとともに、まさに「巨人の肩に乗って」をしないと、
これからはやっていけないんだなぁとしみじみ思ってしまいました。

こんな人におすすめ

私のように、クローリングやスクレイピングに新しく挑戦する人にとってはとても良い書籍だと思います。
Python 標準ライブラリ、サードパーティライブラリの使い方がとても丁寧に説明されています。
また「どうやったらできる」だけでなく、相手先のサイトに迷惑をかけないための方法もきちんと解説されており、
その書き方にはとても好感が持てました。

ただし、あらかじめ Python の文法についてはある程度知っておく必要があると思います。
とはいっても深い知識が必要なわけではないので、Python スクリプトを書いたことがあるよ~という方なら
読んでいけるのではないかなと思います。

というわけで、広くおすすめできる書籍です。

注意

この本の Appendix に Vagrant による仮想環境の構築方法が書かれています。
どういうわけか自分の環境 (Windows 10 Pro) では、Vagrant 起動時にエラーが出て、共有ディレクトリが
ちゃんと使えないという不具合がありました。
Vagrant のバージョンと Virtual Box のバージョンが合わなかったのかもしれません。

かなり長時間ハマってしまい、結局は Vagrant を使わずに普通に Ubuntu をインストールしたほうが早かったので、
これから環境構築する方はご注意いただければ。

この本を読んで、どう活用する?

ベタですけど株価予測とかに使っていきたいと思います。
ヘボい投資状況についても、そのうちブログで公開予定...

Python スクリプトを exe ファイル化したい

Python スクリプトを exe ファイル化したい

Python の良いところにはマルチプラットフォームで動くというのがありますが、
良くない、というか仕方ないところは、そのための実行環境を入れないといけません。
自分で使う分には良いですが、人に使わせるとなると、そこがハードルになります。
そのハードルを取り除くため、Windows 環境で動く exe ファイルにする方法を調べました。

方法

調べるといくつか方法があるようです。

ざっと情報を調べてみると、こんな一長一短があるようです。

py2exe PyInstaller cx_Freeze 備考
Python 3.5 対応 × py2exe は Python 3.4 まで
処理時間 × 参考記事
プラットフォーム × py2exe は Windows 向けのみ
シングル exe ファイル × cx_Freezeは 1 ファイルにまとめられない

処理時間とシングル exe ファイルができることから、py2exe を選びたかったのですが、
Python 3.5 に非対応だったので諦め...
ということで PyInstaller と cx_Freezeを試してみることにしました。

変換する Python スクリプト

tkinter GUI アプリケーションを変換したかったので、とりあえず簡単なテストアプリを作りました。
ファイルダイアログで選択したファイルパスを出力するだけです。


PyInstaller

導入

pip install で導入します。

$ pip install pyinstaller

変換

シングル exe ファイルで、コンソール画面を出さないようにしてみました。
といってもそれぞれ -F, -w オプションをつけるだけです。

オプション一覧

$ pyinstaller -F -w tkinter2exe.py

これだけで、dist ディレクトリの下に tkinter2exe.exe ができました。

起動

ちゃんと起動しました。
が遅い!!
感覚で言うと 4 秒くらいかかるような感じです。
ちなみに Python として起動したときは 1 秒もかかりません。
なおファイルサイズは 8.47 MB になりました。

cx_Freeze

結果的には、こちらはうまくいかずでした...

導入

pip install で導入します。

$ pip install cx_Freeze

変換

ここ を参考に以下のようなコマンドを叩きました。

$ cxfreeze tkinter2exe.py --target-dir dist

これでは cxfreeze が起動せず。
以下のようにちょっと修正。

$ python C:\Users\[Username]\Anaconda3\Scripts\cxfreeze tkinter2exe.py --target-dir dist

これでとりあえず cxfreeze は動くようになったのですが TCLが見つからないというエラーが出ます。
環境によるようなのですが、Stack overflow の情報をもとに環境変数を追加しました。

$ set TCL_LIBRARY=C:\Users\[Username]\Anaconda3\tcl\tcl8.6\
$ set TK_LIBRARY=C:\Users\[Username]\Anaconda3\tcl\tk8.6\

これで改めて

$ python C:\Users\[Username]\Anaconda3\Scripts\cxfreeze tkinter2exe.py --target-dir dist

こうして、dist フォルダの中に tkinter2exe.exe ができた。

起動

さて起動、、と思ったら起動せず...
setup.py を作ってみたり、いろいろやってみたものの、うまくいきませんでした。

まとめ

本当は py2exe, PyInstaller, cx_Freezeの比較までいきたかったけれど、
現時点では PyInstaller しか使えませんでした。
どうも Python の環境 (自分は Anaconda) にもだいぶ依存するようなので、
exe 化はまだまだハマりどころがいろいろあるようです。