日常生活を改善するブログ

ガジェット体験や日常生活から得た気づきをシェアするブログ

【Python】KindleアンリミテッドでPythonでの自動化・仕事効率化に関する書籍をダウンロード。スクレイピング、API操作には不自由がないようにしておきたい

PythonとAWSLambdaを使ってAPI操作になれる

お題「マイブーム」

月曜日ということでいろいろKindleアンリミテッドで週刊誌や月刊誌、そのたもろもろダウンロードしました。ダウンロードした書籍は以下。これだけで軽く980円を超えているところがナイスですね。コスパ良すぎ。 

週刊大衆 2019年3月18日号[雑誌]

週刊大衆 2019年3月18日号[雑誌]

 
家電批評 2019年 4月号 [雑誌]

家電批評 2019年 4月号 [雑誌]

 

 

デジタルカメラマガジン 2019年2月号

デジタルカメラマガジン 2019年2月号

 

一年前に勉強をはじめたものの、仕事が忙しくなりここ半年放置していた「Python」。

改めてやり直そうと以下の書籍もダウンロードしました。

ちょっと大上段ですが「5G」な世界になるとなんでもネットに繋がる、それすなわち今まで以上にAPIなんでもできてしまう世の中になることと思っています。とすれば、APIを操作してデータを見るとか、ガジェットを操作するというのは当たり前の世の中になってくるのではないかなと。

そんなときAPIでちょっとイケてる動かし方を知っているのは生産性があがるのではないかなと感じたので再び手を出してることにしました。

 以下は目次です。

目次

1. Python

1.1 Python2とPython3
1.2 Pythonの基本的な取り扱い
1.3 Pythonの基本文法
1.4 venv

2. テキストエディタの導入

2.1 テキストエディタの選定
2.2 Atomを導入する
2.3 Atomの基本的な使い方
2.4 AtomでPythonのコードを書く


3. Webスクレイピング

3.1 Webスクレイピングとは何か? 
3.2 Webスクレイピングを学ぶメリット
3.3 Webスクレイピングを行う時の注意点



4. HTML

4.1 HTMLとは何か?
4.2 XMLとは何か?
4.3 HTMLの基本
4.4 HTML5でのタグの役割


5. Beautiful Soup4

5.1 Beautiful Soup4とは?
5.2 Beautiful Soup4のインストール
5.3 Beautiful Soupの基本的な使い方
5.4 HTMLを解析する
5.5 オンラインからURLを指定してHTMLを取得する

6. データの保存(永続化)の方法

6.1 スクレイピングの結果をどのように保存するか?
6.2 CSV
6.3 Excelブック
6.4 データベース

7. Beautiful Soup4の応用

7.1 Webページにある画像を一括でダウンロードする
7.2 Webページにあるリンクをまとめて抜き出す。
7.3 特定のサイトのメタタグの使い方を一括で確認する
7.4 特定のWebサイトの記事一覧を取得する

8. RSS

8.1 RSSとは何か?
8.2 RSSの基本構造
8.3 Pythonで使えるRSSライブラリ
8.4 RSSの情報をCSVに保存する


9. Google Colaboratoryを使う

9.1 Google Colaboratoryを使う利点
9.2 Google Colaboratoryを使用する
9.3 Google Colaboratoryでのパッケージ管理
9.4 Google ColaboratoryでのWebスクレーピング
9.5 Google ColaboratoryからGoogleスプレッドシートを操作してスクレイピングの結果を保存する

6章から9章あたりのWEBデータ保存と分析はブログ、サイト運営にも助かりそうです。

私の場合、JSONで取ってくるところまではわかるのですが、そのあとのデータ加工の部分がからっきしなのでその辺でなにか掴み取れればな、、、と考えております。

返す返すもありがないのがKindleアンリミテッドなこと。経済的に助かります。それにしても最近は幅広くなりました。コスパ良すぎなサービスです。

 

www.amazon.co.jp

 

【Python】独学プログラマー9章まで読了。ようやくファイルやAPI読み込みからのコンテナ(辞書、リスト、タプル)への格納の概念を理解

先日から日経BPから出版されている「独学プログラマー」でPythonの勉強を進めています。ようやくCSVファイルを読み込んでからのコンテナへの格納、格納してからのデータ利用みたいな処理を理解できました。これまでもUdemyなどの講座で書き方のお作法は理解できていましたが、ようやくじゃあ実際どうやってどんな場合に使うのか?なところが腹落ちできた感じです。

第1部まで読み終わりましたが、独学プログラマーのタイトルが示すとおり独学で学ぶ人にピッタリな書籍だなと実感しています。文法の解説はそこそこで実際のプロジェクトだったらどういうときに使うかにフューチャーしているので、文法の構造はわかった。でも実際に書こうとすると手が止まる、なんて人(私)には助けになる書籍かなと思います。

 

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

 

 ハマったときの助けとか痒いところに手が届く内容になっています。

参考までに目次

第1部(Part1)

第1章 イントロダクション

第2章 さあ、はじめよう!

第3章 プログラミング入門

第4章 関数

第5章 コンテナ

第6章 文字列操作

第7章 ループ

第8章 モジュール

第9章 ファイル

第10章 知識を1つにまとめる

第11章 ハマったときの助け

第2部(Part2)

第12章 プログラミングパラダイム

第13章 オブジェクト指向プログラミングの4大要素

第14章 もっとオブジェクト指向プログラミング

第15章 知識を1つにまとめる

第3部(Part3)

第16章 Bash

第17章 正規表現

第18章 パッケージ管理

第19章 バージョン管理

第20章 知識を1つにまとめる

第4部(Part4)

第21章 データ構造

第22章 アルゴリズム

第5部(Part5)

第23章 プログラミングのベストプラクティス

第24章 プログラマーとしての最初の仕事

第25章 チームで働く

第26章 さらに学ぼう

第27章 次のステップ

第6部(Part6)

補章 より良いコードにするために

補章 継続して学ぶために

謝辞

訳者あとがき

索引

 

Pythonプログラミングの基本を学べるだけでなく、プログラマとして必要なスキル(シェル、正規表現、パッケージ管理、バージョン管理、データ構造、アルゴリズム、仕事の始め方・やり方)もひと通り学べるのがいいですね。私なんかは正規表現とか苦手でしょうがないですが苦手意識がとれそうです。

本書はPythonを学ぶ際の最初の一冊として向いていると思います。その後の文法知識の補完はブログなりUdemyなりですればいいかなと。私とおんなじようなつまづきをしていた人は是非一度手にとって見てください(^o^)

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

 

お題「愛用しているもの」

 

【Python】Pythonの学習環境は「GoogleColaboratory」が一番おすすめ。ブラウザさえあればいいので楽。起動も早くてストレスフリー

Pythonの勉強環境は「GoogleColaboratory」が一番ラク

お題「愛用しているもの」

Pythonの学習環境についてのメモです。Pythonの現在、以下の書籍とUdemyの講座をベースにPythonの文法について学んでいます。(ようやくスクレイピングの処理がわかってきたところ。)

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

 

 勉強環境もPycharm、JupyterNotebook、AWSCloud9などを試してきましたが、結局「GoogleColaboratory」に落ち着きました。「GoogleColaboratory」は実際にコードを書くまでの労力が少なくていいですね。

特にChromeブラウザがあればどのOSでも動くのが素晴らしいです。家のウィンドウPCでコードを書いた後、電車の中でChromebookを広げてコード書き、実家のパソコンでを開いてさらに続きを書く、なんてこともストレスなく実行可能です。

環境構築が必要ないのでサーバ関連の知識がない方でもすぐにコードを書き始められます。どうしてもPycharm、JuyterNotebookはローカルへのインストールが伴いますし、AWSCloud9はIAMの設定が必要などハードルがちょこまかあるんですよね。

面倒くさいことは考えずにコードを書くことに注力できるのが何より素晴らしいです。

f:id:takemako:20180713082148p:plain

コードの実行は裏でGCPのコンピュートエンジンが動いているっぽい。インスタンスの起動も早いのでほんの10秒で実行可能です。ほんといい時代になりました。

Pythonをやってみたいけど環境構築がめんどくさい、、、と思っていたら環境構築不要な「GoogleColaboratory」を使ってみてください!

「GoogleColaboratory」

https://colab.research.google.com/notebooks/welcome.ipynb

 

【Python】Pythonを勉強するときの環境は「Google Colaboratory」がおすすめ。無料かつPython3学習環境を1分で構築可能

Pythonを勉強するときの環境は「Google Colaboratory」がおすすめ

お題「愛用しているもの」

先週末から時間を取って以下の書籍をベースにUdemyを併用しつつプログラムを独学しています。この本かなりいいです。他の文法本と違って実際によく使う処理からしかも理由とバッドノウハウも合わせて紹介してくれているので、if文など制御文ひとつとってみても頭に入りやすい。独学した人が書いている本は、独学者にあいます。

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

 

 では、Pythonを勉強するときの環境としては何が手軽で良いのか?ですが、

今や「Google Colaboratory」が圧倒的におすすめです。

必要なものはGoogleアカウントのみ無料で利用できますし、Pythonの実行環境(JpyterNotebook)もメニューからFile→NewFileを作成するだけ。1分で学習環境を構築できます。AWSCloud9もLambdaと連携できたり統合開発環境になっているのでmいいのですが、それでもインスタンス代はかかります。

Pythonの初歩を学ぶだけなら「Google Colaboratory」が一番お手軽なのかなと思います。本当にGoogleの進化ぶりは凄まじいものがありますね。世の中どんどん便利になってます。

Hello, Colaboratory - Colaboratory
https://colab.research.google.com/notebooks/welcome.ipynb#recent=true

【技術】Pythonの初歩をお手軽に学べるサービスと環境を紹介byインフラかつ非プログラマのアラフォー

地道にですがPythonをUdemyで学んでいる最中です。最近はようやくAWSLambdaと組み合わせてAPIを叩くのが苦ではなくなってきました。S3にデータを入れたらSNSでメールを飛ばすとか、HTMLフォームからデータを入力したらDynamoDBに書き込む、くらいはどうにかできるようになってきたところです。Pythonの初歩の段階は超えてきたかと思うので、個人的なまとめとして、

「Pythonの初歩」をお手軽に学べるサービスと環境を紹介します。

文法の基礎を学ぶサービス、無料:Aidemy、有料:Udemyがおすすめ

Aidemy

まず、Pythonの文法を学ぶにあたってのサービスは「Aidemy」がおすすめです。こちらのサービスは、いくつか学習プランが有るのですが「文法を学ぶ」だけなら無料で学べます。無料とは言いつつもブラウザ上で演習環境が整っていて解説も丁寧です。クオリティーでいえば「Prog8」と同じくらい。わかりやすいです。

環境の設定がいらないのですぐに取り掛かれるのもナイスですね。

f:id:takemako:20180626205432p:plain

 

https://aidemy.net/

Udemy

オンラインの動画塾です。Pythonについても色々解説がありわかりやすいです。環境の構築からレクチャーしてくれるので学習環境をつまずかず作れますし、学習も詰まることはありませんでした。

まずは以下の文法特化講座がおすすめです。値段は2,400円〜1,200円で購入可能です。10時間近い授業が1,200円ってコスパ良すぎます。

Aidemyで手慣らしをした後にUdemyで知識を補完するのがおすすめです。

みんなのPython講座 ゼロから少しづつ丁寧に学ぶプログラム 

であとはネットに転がっている素晴らしいサンプルを書いて真似ると。

Python文法を学ぶための環境 「無料:Google Colaboratory」がおすすめ

Python文法の環境を無料で仕上げたいならば「Google Colaboratory」が超絶におすすめです。WIndowsやMacにインストールして使うタイプで「JupyterNotebook」というアプリが有名かと思いますが、それをGoogle基盤のクラウドで使えてしまうしかも無料でという太っ腹なサービスです。

ブラウザでできるのでどこでも使えるかつOSフリーなので便利なことこの上なし。ChromebookでもOKです。

使い方も簡単。

・Googleドライブをブラウザで開いて特定のフォルダで右クリック

・アプリで開く→アプリを追加をクリック

・アプリを追加で検索窓で「Colaboratory」と検索

・「Google Colaboratory」をGoogleドライブに追加

するだけです。

下のリンクからGoogleドライブに入って、、、

https://drive.google.com/

フォルダ内で右クリックして、「アプリで開く」を選んだら、、、

f:id:takemako:20180626212727p:plain

検索窓で「Colaboratory」と検索

f:id:takemako:20180626205412p:plain

追加したらOKボタンを押下。

f:id:takemako:20180626205409p:plain

あとは左上の新規ボタンを押す。するとどのファイルを作ら選べるので「その他」→「Colaboratory」を選択。

f:id:takemako:20180626213116p:plain

f:id:takemako:20180626213055p:plain

すると、Jupyternotebookの編集画面が開くのであとはコードを書くだけです。

f:id:takemako:20180626205435p:plain

 

保存もメニューからGoogleドライブにシームレスに保存可能です。

ちなみにアップロードもOK。おそらく裏ではGCPのインスタンスが使われているのでしょうね。

f:id:takemako:20180626205403p:plain

「Google Colaboratory」

・利用は無料

・始めるのに必要なのはGoogleアカウントとGoogleドライブのみ

・環境構築の必要がない

・ブラウザベースなのでChromebookでOK

・やる気になればグラフィックスカードも12時間無料で使える

・Pythonのライブラリが充実

とPythonを学ぶには手軽で懐も痛まず、良いことづくめだなと感じてます。

AWSCloud9もいいですが登録とIAMユーザーの設定が手間ですし、ローカル環境はPC端末依存になってしまうのが不便です。無料かつ環境構築を早ければ10分で構築できるPython学習環境としては最適と思います。

Python初学者で環境構築に何を使おうか迷っている人はぜひ使ってみてください。

以上、Pythonの初歩をお手軽に学べるサービスと環境を紹介でした!

まとめ 今日紹介したもの

https://aidemy.net/(Aidemy)

みんなのPython講座 ゼロから少しづつ丁寧に学ぶプログラム (Udemy)

https://colab.research.google.com「Google Colaboratory」

 

UdemyでPythonの文法を復習中。ローカル環境も作りたくなったのでAnacondaとJupyternotebookを導入

お題「愛用しているもの」

Python日記。で配信が始まった講座を進めています。クラスと例外処理のところがあやふやなところがあったので改めて復習中。受講は自宅のWindowsでやってます。

やりはじめが出先かつChromebookを利用していたので、そのままコードを書くときには直接Lambda上であったり「AWSCloud9」を利用してコードを書いて試していました。が、自宅にいるときはWindowsなんだし「ローカルにも開発環境があってもいいか」と思い、ローカル環境も作ってみました。

構成は

・Anaconda+Jupyternotebook

としました。

「Anaconda(アナコンダ)」はローカルでPythonを動かすもので、

「Jupyternotebook(ジュパイターノートブック)」はpythonを動かした結果を確認、記録できる便利ツールです。

ちなみにいれたきっかけはUdemyの以下の講座の解説を聴いたから(笑)

色々Udemyやドットインストール、Prog8など色々手を出しましたが、お作法を覚えるには一番わかりやすい講座かと思います。環境構築からもなぜJupyternotebookなのか?とか理由付きで教えてくれるので。書籍以下の金額でも学べる内容は学校レベル。おすすめです。

みんなのPython講座 ゼロから少しづつ丁寧に学ぶプログラミング言語Python3のエッセンス

今日辺りからがっつり復習、マイクロサービスを作って公開していけるようにしたいと思います。

アラフォーがPython文法を楽に覚えられると思う教材について紹介します。Udemy、ドットインストール、書籍それぞれの感想【アラフォー事始め】

お題「愛用しているもの」

仕事で1年半AWSに関わってきましたが、苦手意識があってサーバーレスとかコーディングの部分は避けてきました。しかし先月、客先案件がフックでPython×Lambdaでインスタンスを自動更新する仕組みづくりをすることに。

いずれ必要となることとわかっていたのですが先延ばししていたのですが、まあ「いいタイミングか」と思い、サーバーレスに取り組んでみようやってみようと思ったのが先月半ば。ここ2週間ほどはPythonの基本文法を頭に叩き込みながら、便利なライブラリやネットで公開されているスクリプトを利用して色々作成している最中です。

私は形から入るタイプなので(笑)、文法を覚える際には色々手を出してみました。書籍、ブログ、オンライン動画、、、。
その中で今回は「アラフォーがPython文法を最初の覚えるのに良いと思う教材」を紹介します。ちなみに状況は以下な感じです。

バックグラウンド

・今までやってきたのはネットワーク。インフラ屋。来年40。
・AWS歴2年。提案とインフラ構築がメイン
・プログラムはシェルスクリプトをぎりぎりかける程度
・かつてJava、PHPでオブジェクト指向を書籍で学ぼうとして挫折
・勉強は仕事の合間か休日の朝くらい

勉強するにあたって手を出してみたもの

・書籍(みんなのPython、Pythonスタートブック、etc)
・オンライン学習サイト(ドットインストール、Udemy、Prog8)
・文法解説ブログ

性に合ったのは「Udemy」のオンライン講座

「Python 勉強」でググってできたものは一通り手を出してみました。その中で「何が一番いいか?」良かったかというと、「Udemy」の講座が一番わかりやすく学習が進みましたね。インプットする方法としてはオンライン学習サイトが全般的に効率が高いと実感しました。

特にUdemyは、
・講師の方による口での説明と実際の打ち込みを画面で見ながらコードを打つので、学習しやすい
・講座内容も環境構築から説明してくれる
・つまづいても講師に質問できるので、解説を聞いてもわからないところも個別に解決できる
・例えばわかりにくいクラスの説明も例えがうまく、他の箇所も「なぜそうなるか?」を話してくれるので理解が進むので頭に定着できる
・1講座1200円〜2400円と書籍一冊分くらいの値段で買い切りで受講可能

と個別指導学習に近い形でしかも格安で学習を進められました。

私が受講したのが以下の講座。文法に加えてスクレイピングなどについても学べます。受講したのはPythonの文法部分についてのみですが、解説がわかりやすく詰まるところはなかったですね。

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

また、今週からは文法に特化した講座も配信開始になりました。こちらも受講中ですがわかりやすいです。

みんなのPython講座 ゼロから少しづつ丁寧に学ぶプログラム

必須条件

プログラミングが全くの未経験でも問題ありません。
MacでもWindowsでも大丈夫です。

学習内容

Pythonのプログラミング技術が身につきます。
プログラミングの基本的な考え方が身につきます
ちょっとした計算、解析やWebスクレイピング用のツールとしてPythonが活用できるようになります
Pythonで文章を加工したり解析したりできるようになります
オブジェクト指向の考え方が身につきます
AIや機械学習、ディープラーニングを学ぶための下地が身につきます

受講対象

Pythonプログラミングを身に付けたい方
PythonがAIや機械学習を勉強する際の障壁になっている方
Pythonをビジネスで扱う必要に迫られた方
プログラミング学習の最初のきっかけが欲しい方
より効率的にデータを扱いたい方
WebアプリやAIに関しては概要のみとなります
文系の方、非エンジニアの方にもおすすめです

 

UdemyはCtoCのオンライン学習サイトなので値段は安く受けやすいのが良いところですね。書籍を買うよりも安くてすむのは何よりです。

f:id:takemako:20180413083403p:plain

ドットインストールとProg8はどうなのか

じゃあ、「他のオンライン学習はどうなの?そもそも書籍で良くない?ブログは?」ってところなのですが、

ドットインストールは復習用

Prog8は入門レベルすぎ

と感じました。

書籍は学生ならいいかも。

まずドットインストールは初学者にはつらいです。
講義の質が、
・シンプルすぎ、悪く言えば低品質
とでした。

講座での解説がシンプル。とかくシンプル。一貫して書き方のみの解説のみで「こういうときは、このように書くとこうなるのでこのように書きましょう」とひたすら早口で連呼しているだけ。

文法の理解にはなぜそうなるのかの説明が重要ですが、一切「なぜ?」対する解説がありません。この点、初学者が学ぶにはつらすぎました。授業にある文章は書けるけど、自分で書こうとすると手が止まること必至ではないかなと感じましたね。基本的な動きはひととおりわかっているけど書き方を忘れたからら復習として使う分にはいいと思いますが。あまりに一方方向な講義だったので私は続きませんでした。

次にProg8。こちらはスライドの解説を見ながらコーディングしてく形です。解説は丁寧ですがあまりにも入門過ぎます。文法のみの解説なのでこちらも同じく実践でなにかアプリを作ったり、APIを叩けるようにはなりませんでした。

書籍→時間がある学生にはいい、もしくはリファレンス、ブログはピンポイント活用

書籍ですが、これは内容どうこうよりちょっと老眼が入ってきているアラフォーにはきつかったです(苦笑)。職場と家でやるにも紙は荷物になるし、かといって電子は固定型なので読みづらいしで、時間のないサラリーマンには書籍で学ぶスタイルは合わなかったですね。躓いても質問できないし。落ち着いて取り組める学生ならありかと思います。

そしてブログ。これは実践的でいろいろためになるブログがあるのでいいのですが体系的に学ぶには不便ですね。ピンポイントでわからないところを解決するにはこれ以上ないですが探す手間もあるので一長一短です。わからない事柄へのリファレンスとしてはいい良いと思います。

Pythonを学ぶおすすめフロー 取っ掛かりはオンライン学習がおすすめ

最後に「いざPythonの文法を覚えるのにはどうやればいいのか?」おすすめの勉強法をまとめておきます。
勉強法としては
「Udemyで動きを覚える」

「お手本コードをネットで探す」

「自分で動かす」

「わからないところは書籍、ブログを参照」

わかってきたと思ってきたころに「動画で復習」

するのがいいと思います。取っ掛かりはオンライン動画で学ぶのがポイント。

画面片手に聴きながら手を動かせる、わからないところは質問できる、なにより低コスト、どこでも勉強できるのがいいと思います。取り組むに対するインタラクションコストが低いのは、初学者には重要です。

私自身、オンライン学習には最初半信半疑でしたが使ってみて良さはわかりました。(受けた講座の質が良かったところが大きいですが。)

10年前にはなかった学び方ですから、馴染みは薄いと思いますが書籍で学ぶより効率がいいと思います。

何か学び始めるときは「オンライン学習でやってみる」ことをアラフォー諸氏にはおすすめします!

みんなのPython講座 ゼロから少しづつ丁寧に学ぶプログラム

「AWSCloud9」の環境設定。Pythonのバージョンが「2.7」から「3.*系」に設定から変えても変わらない場合の対処法 アラフォーからのプログラム事始め 

今日から実際に「AWSCloud9」でPythonの勉強を開始しました。午前中に考えたPythonの勉強の進め方と午後にハマった「AWSCloud9」での「Pythonのバージョン」のアップデート方法についてメモしておきます。

アラフォープログラム事始め Python勉強の進め方

1.ドットインストールでPythonの文法を覚える 期間:7日間

有名ですし無料枠だけで受けてみてもわかりやすかったので、Pythonのお作法をドットインストールで覚えようと決めました。

https://dotinstall.com/

2.サーバーレスアプリケーション開発ガイドでLamdaとPythonの動きを覚える 期間:2週間くらい 

Pythonでやってみたいことがピンポイントで書かれていたので購入しました。
実践的で良い感じです。実際にLambdaやAPIゲートウェイを利用しての作成ができて頭に入ってきそうな予感がしています。

3.ブログを読みながら業務でPythonを書く 期間:2週間

実際に手を動かしてなんぼなので。実践あるのみ。

3週間くらいはインプット中心⇒その後は作りたいものを手真似で作る様にしていこうと考えています。

そして今日やったことは、AWS Cloud9の初期設定。さっそくですがつまづきました(笑)
つまづいたのがPythonのバージョン上げ。2.7から3.6に上げるのに2時間かかりました。。。

AWS Cloud9の初期設定ではPythonのバージョンが「2.7」だったので、早速ブログをいくつかチェックしてバージョンあげを試したのですがうまくいきませんでした。

qiita.com

おそらくAWS買収前のCloud9の設定みたいで、現状のAWSCloud9下ではNGでした。

結果、2時間かけてバージョン3.6に上げることはできましたので以下方法はメモしておきます。


1.ダッシュボードでPythonの設定を「Python3」に設定

ダッシュボードの設定を変えます。

f:id:takemako:20180321222028p:plain

2.AWS Cloud9でターミナルWindowを立ち上げます。

画面下部にあるターミナルを選択して色々インストールしていきます。

f:id:takemako:20180321222204p:plain

3.pipの最新版をインストール

まずpipは最新にしておきます。

sudo python -m pip install --upgrade pip

4.~/.bashrcの alias python をpython36に変更。

「3」までの手順だけではバージョンは切り替わりません。
~/.bashrcのエイリアス設定を変更します。

~/environment $ cat ~/.bashrc
catでみた状態。

# .bashrc

export PATH=$PATH:$HOME/.local/bin:$HOME/bin

# load nvm
export NVM_DIR="/home/ec2-user/.nvm"
[ "$BASH_VERSION" ] && npm() {
# hack: avoid slow npm sanity check in nvm
if [ "$*" == "config get prefix" ]; then which node | sed "s/bin\/node//";
else $(which npm) "$@"; fi
}
# [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
rvm_silence_path_mismatch_check_flag=1 # prevent rvm complaints that nvm is first in PATH
unset npm # end hack


# User specific aliases and functions
alias python=python27

# modifications needed only in interactive mode
if [ "$PS1" != "" ]; then
# Set default editor for git
git config --global core.editor /usr/bin/nano

# Turn on checkwinsize
shopt -s checkwinsize

# keep more history
shopt -s histappend
export HISTSIZE=100000
export HISTFILESIZE=100000
export PROMPT_COMMAND="history -a;"

# Source for Git PS1 function
if ! type -t __git_ps1 && [ -e "/usr/share/git-core/contrib/completion/git-prompt.sh" ]; then
. /usr/share/git-core/contrib/completion/git-prompt.sh
fi

# Cloud9 default prompt
_cloud9_prompt_user() {
if [ "$C9_USER" = root ]; then
echo "$USER"
else
echo "$C9_USER"
fi
}

PS1='\[\033[01;32m\]$(_cloud9_prompt_user)\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)" 2>/dev/null) $ '
fi

viで以下の箇所を変更します。
vi ~/.bashrc
alias python=python27

alias python=python36

5.「.bashrc」の再読み込みを実施

sourceコマンドで再読込を行う。

source ~/.bashrc

6.Pythonのバージョンの確認

ここまででPythonのバージョンは3.6.2まであがりました。

python --version
Python 3.6.2

ただ、pip -VをやるとPython2.7がまだ表示されます。なので以下のコマンドを行いました。

7.update-alternativesを実行

以下を実行します。

sudo update-alternatives --config python

上記の実施で、pip で出てくるpythonのバージョンも3.6にあがりました。

~/environment $ pip -V

pip 9.2.1 from /usr/lib/python3.6/dist-packages (python 3.6)

ただ、上記やってもなお、awscli で連携しているpythonのバージョンは2.7のままでした。元々インストールされているのがいけてないのか?と思いアンインストール⇒再インストールを実施しました。

8.AWS CLI をアンインストールする必要がある場合は、pip uninstall を使用します。

$ pip uninstall awscli
$ pip install awscli

再インストールして、バージョンの確認。

~/environment $ aws --version
aws-cli/1.14.59 Python/3.6.2 Linux/4.9.81-35.56.amzn1.x86_64 botocore/1.9.12

以上で、「AWSCloud9」のバージョンが3.6になりました。

ちなみに上記の設定はRootユーザー権限で設定しましょう。

Pythonのバージョン設定でつまずいている方は参考にしてみてください。

お題「今日の出来事」

バッドノウハウ

以下のようなエラーが出ているときは「sudo」コマンドを忘れている可能性有りです。

Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python3.6/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python3.6/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/local/lib/python3.6/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python3.6/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/local/lib/python3.6/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/local/lib/python3.6/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib64/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.6/dist-packages/awscli-1.14.59.dist-info'

2018/03/21の進捗

ドットインストールでの無料分の授業まで完了。

https://dotinstall.com/