最近、JavaScriptを独学で学びました。(動画やWebサイトの情報利用)その後、興味のあったFlutterに少し触れましたが、思いのほか敷居が高かったのと、PCのスペックが貧弱であったので一旦ストップしました。
そして、今やりたい事、、、それはスクレイピング技術を学んで色々と実現したい事があります。(スクレイピングと聞くと少し悪い印象やネガティブに感じる方もいるかもしれませんが、他人のサーバに負荷をかけるような事はするつもりはありません)
そして、スクレイピングをやるのにうってつけの言語と言うと、色々と調べた結果、Pythonに行きつきました。3、4年前位のAIブームと同時に一躍有名になった言語ですね。最近は書籍店のコーナー1角を埋め尽くすほどの人気ぶりです。
あまり、流行に乗るのは好きな方ではないのですが、自分がやりたい事を実現し易いようなので勉強してみる事にしました。幸い、JavaScriptを散々やったのでプログラミング自体に対する抵抗はなくなってきました。
さて、実際にやろうと思うと、JSとは違い環境構築が必要となります。(当たり前というかこれが普通)
学習方法は?
最初はネットの情報だけで学ぶつもりでしたが、一冊だけ本を買う事にしました。そして、その本に書いてある通りに環境を構築しようとしても、なかなかうまくいきません。恐らく、書籍が出た時と最新のバージョンの違いやら色々ありそうです。書籍ではPythonのバージョンが3.7となっていましたが、私は迷った結果、最新の3.8をインストールしました。(マイナーチェンジレベルなら上位互換、後方互換で行けんじゃね?という考え)
私の場合、スクレイピング技術のみPythonで学びたかったのでスクレイピングやクローリングに特化した書籍を探しました。ありました!ちょっと古いですがコレを使用。もう一冊迷ったのがありましたが、中身を見て何となく面白そうだったコチラを採用↓
ある程度予想はしておりましたが、色々と問題が発生したので仕方なくネットの情報と併用して、色々試行錯誤しました。そして、2~3日かけてようやくPythonを実行出来る状態に持って来れました。w(いやー大変でした)
環境構築迄の流れ
自分の場合なんですが、どのような流れで環境構築したか?ざっくり言うとこんな感じです。
①ベースOSはWin10
②VirtualBOXというLinuxOSを入れる為の仮想サーバーをローカルに構築
③Vagrantというサーバの設定関連を簡易的にやってくれるツールを導入
④UbuntuというLinuxベースのOSを仮想サーバにインストール
⑤TeraTermというターミナルエミュレータを導入
⑥Pythonをインストール
⑦Pythonの標準モジュールVenv(仮想環境)を導入
環境構築にまで主要なイベントというか流れはこんな感じでした。細かいところは割愛させていただきました。
恐らく、この後ライブラリやら強力なサードパーティモジュール等の導入、まだまだやる事はありそうですが、ここまで出来れば一応、Python自体の動作は確認できました。「HelloWorld」がコンソールに出て嬉しかったのはこの言語が初めてかもしれません。笑
途中、TeraTermというエミュレータで躓きました。Puttyというエミュレータに変更しようと思ったのですが、こちらもsyntaxエラーと言うのがなかなか消せず、結局TeraTermの動作確認をするやり方というか手順に問題があった事を突き止めたのでTeraTermを採用。
さて、仮に仮想環境を全てシャットダウンするとサービスの起動迄の手順を忘れてしまいそうです。なのでここに備忘録として書いておこうと思います。
Python実行迄の流れ(自分用メモ)
<0からPythonを実行する迄の手順メモ>
①PowerShellでカレントディレクトリで仮想サーバー対象URLに移動
②Vagrantを起動
③TeraTermを起動
④仮想環境をアクティベート
⑤仮想環境側のカレントディレクトリに移動
⑥lsコマンド
⑦ファイルを保存
⑧コマンドでファイル名を指定し実行
ここまで読んでいただいてお気づきかもしれませんが、Pythonという言語は教育現場にも利用されたり、非常に分かりやすい言語である事が謳われている事が多いですが、環境構築迄の敷居が非常に高いです。
色々と調べると最近ではGoogleColaboratoryというブラウザ上で仮想環境を簡易的に構築出来るツールもあるようですので、初心者の方はコチラの方が手っ取り早いかもしれません。
ですが、こちらもまだ情報量が少なそうなので従来方式との違いから、Google版だとこのコマンドが必要になるとか、そもそもこのライブラリが使えない、、、等の制限が出てくる可能性がありますのでご注意下さい。
私の場合は単なる学習用ではなく、実際に作業として利用したい明確な目的がいくつかあるので一応、王道?っぽい環境構築方法にしてみました。目的というか実作業のフェーズになると実際のレンタルサーバーとか物理的な自家製のサーバーで構築するのが良いのかもしれません。
初のプログラミングがPythonであれば、GoogleColaboのような簡易的なものを使った方が良いのではないかと思います。恐らくですが、環境構築が出来ずに挫折した方が多数おられるのではないかと推察します。
私の場合は何とか構築出来たのでやっとスタートラインに立てた気分です。環境構築は短期間で一気にやるのがオススメです。1週間に1回程度の頻度では前回どこまで出来たのか?忘れてしまいそうです。1~2日潰すつもりで短期集中で構築するのをオススメします。
Linux自体経験値が少ないので基本的なコマンドやらお作法等、色々と覚える事が多そうです。計画的に少しずつやっていこうかなと思います。
まとめ
結論としては言語として初心者向けなのか?はまだまだ未知数ですが、環境構築は「かなりムズイ方」でした。MAC版はどうか?分かりません。Linuxであれば仮想サーバーとか、不要な項目がありそうなのでLinuxで始めるのが一番簡単かもしれませんね。
ですが、敷居が高ければ高い程、習得の価値が高くなるのと、うまくいった時の感動が大きいモノです。是非トライしてみてください。細かい手順を載せようか?迷ったのですが、細かいバージョンやお手元の環境次第では、その通りにならない世界のようです。
詳細手順は逆に混乱を生む可能性があると思い書きませんでした。ググって調べれば何とかなる。。。という気合や突破力も必要かもしれませんね。
コメント