Python3+Mac OSXでハマったこととエディタ設定【38-Web13】
ついにPythonはじめたのですが、本を片手にやってくとprintの表示がどうにもおかしいのです。環境設定に時間かかったあたりをまとめました。
こんにちは。38歳からWebエンジニアを目指しているフェニックスA子(@lipton_milk999)です。
(画像は全然関係ないですが電車見てるうちの子です)
Pythonはじめました
先日までのnoteでは、フロントエンドなWeb制作を中心にやってきていましたが、あまりにもあちこちで「Pythonできない?」と聞かれていい加減面倒になってきたので、やりはじめました。
*A子は以前、大学事務のバイト面接に行ったらなぜか「ところでPythonできない?」と聞かれ、しかもバイトは落とされたので(事務・・?)、腹が立って少しやっていたという経緯がありますw
数学や統計が必要なら多少慣れてるから行けるかな・・というのもあります。
Max OSX(10.13〜)でつまづいた「実はPython2だった」問題
Python3をインストールして意気揚々始めたわけですが、なんだかおかしい。
・Printの出力結果でカギカッコや括弧、シングルクォーテーションが乱舞する(リストの枠ごとそのまま出てくる)
・文字連結しているはずが、print()の中身がごっそり表示される
・テキストの通り書いているのになぜかSyntaxError(かっこが閉じてない形で出てくるやつ←ちゃんと閉じてる)
これ、結果として「実はMac OSXで標準で入っているPython2系が動いていた」というのが原因でした。
Python2から3に切り替わらない
・Python3をインストールしてもPython2が生きたまま
・Python3.7.0を入れた時に、環境変数($PATH)を「.bash_profile」で設定するように自動でなっている(実際書き込まれてる)はずが、そもそも.basl_profileが読み込まれてない
・sourceコマンドで手動で読み込んでもなぜかダメ
・とにかくしつこくPython2が居座る
Macベースでprogateで何の苦労もせず学習した人は、ローカルになった途端つまづくと思います。
この辺を見たけど、どうにもだめだった。
pyenvでPython3への切り替え
pyenv は、pythonのバージョン管理や切り替えができる環境設定ソフトみたいです。
これを見て、管理は全部 pvenvに任せることにしました。
(ちなみに、上記のブログでは中程の「prenv global」の部分にスペースがないためコピペじゃ動きません。注意)
Mac OSX以降でターミナルを使うと、新しく何か入れても環境変数まわりがうまく動かせないので何とかして欲しいです。
.bash_profileやら.bashrcやら、もっとサクッと更新してくれませんか?
このほか、テキストエディタの設定にも時間を食ったのでそのこともメモしておきます。
PythonにオススメのエディタSublime Text
・SublimeTextのプラグイン「SublimeLinter」を入れた
・Linterはリアルタイム構文チェックツール。Pythonのほか、PHP、css、javaScriptなどさまざまなコードのチェックが可能
・Pythonで致命的な「全角スペースでエラー」を見つけるための「全角スペースハイライト機能」にもプラグインで対応(Trailling Spaces)
・上記プラグインは、そのままじゃ一部バグって使えてないので下記URLで対応する必要あり
そのほか、Pythonを始め、コーディングしやすくするためのオススメの設定をごっそり入れました。
余談:pyenvに行き着くまでに、homebrewでもpython3を入れようと試みたので、私のMacの中pythonだらけな気がするんですけどどうしよう・・(こういうの気になるタイプ)
progateのPython講座はオススメしない
progateのPython講座〜Vまで、2時間くらいでやりましたが、これじゃ何もできません。
他のプログラミング講座をpythonに焼きなおしただけで、pythonの個性らしい要素が何もない。
Pythonの環境構築しなくてよい点が楽なだけです。どうせいずれやることなので、さっさとローカルに環境構築してやったほうがいいです。
今回は「Python3で何始めたの?」についてあまり触れてないですが、本の通りにテキストベースのブラックジャックゲーム作ってます。
面白くないので、さっさと他のやりたい・・
目標は、Google検索で表示される毎週のFormula1の結果データを取得して、自サイト上で加工して何かすることです。
今日はここまで。
【このnoteはマガジンにまとめています。フォローしてね。】
F1クリエイターとして、そしてWebデザイナーの駆け出しとして、自らの手でサイトを立ち上げています。 ご支援を糧に素晴らしいものを作りたい。 どうぞ、よろしくお願いします。