【Python】誰でもできるライブラリのインストール方法!
今回はPythonでライブラリをインストールする方法を紹介します。
Pythonの基本的な3つの学習方法
sky-blog.hateblo.jp
ライブラリとは?
ライブラリーとはある特定の機能をまとめたパッケージの総称のことをいいます。ライブラリにはある特定の機能に関するプログラムが書かれ、それを利用することで一からプログラムを書く必要がなくなります。Pythonは、他の言語に比べてライブラリーが充実しているので非常に便利な言語です。
ライブラリの種類
ライブラリーには2種類あり、Pythonをインストールした時から備わっている「標準ライブラリー」と外部ライブラリーです。
外部ライブライリーを使用する場合、Pythonのインストールとは別に自分でインストールする必要があります。
標準ライブラリーではないもののよく頻繁に使われているものも存在します。
モジュールのインストール方法
例として今回は、pytubeというYoutubeの動画をダウンロードできるライブラリをインストールしてみます。
インストールにはpipというPythonのパッケージ管理ツールを使います。基本的にPythonのインストールと同時に付属していますが、標準で付属してない場合も考慮して進めていきます。
インストール確認とバージョン確認
まず最初にコマンドプロンプトを起動して以下のコマンドを実行してみてください。
python -m pip -V
pipのバージョンが表示されれば成功です。
pip xx.x.x from C:\Users\xxx\AppData\Local\Programs\Python\Python36\lib\site-packages\pip (python 3.6)
もしバージョンが表示されなかった場合pipがインストールされていません。コマンドで簡単にインストールすることができるのでインストールをしましょう。
python get-pip.py
インストール用のコマンド↑
インストール
以上のことができたら次は実際にライブラリーをインストールします。PackageName には自分がインストールしたいライブラリー名を入れて実行してください。
※今回自分は、pytubeをインストールするので PackageName は pytube になります。
python -m pip install PackageName
最終行に Successfully installed と書かれていればインストールは成功です。 お疲れさまでした!
C:\Users\XXX>python -m pip install pytube Collecting pytube Downloading pytube-11.0.2-py3-none-any.whl (56 kB) |████████████████████████████████| 56 kB 1.3 MB/s Installing collected packages: pytube Successfully installed pytube-11.0.2
pipのアップデート
pipを使用しているとアップデートしてくださいという警告がでる場合があります。その時は以下のコマンドでアップデートしてあげてください。
python -m pip install --upgrade pip
初学者によくあるエラーまとめ↓
sky-blog.hateblo.jp
これで大丈夫!Python初心者によくあるエラーまとめ!【Pythonエラー一覧】
エラーがなかなか解決できないという事はよくあることです。
エラーの原因や注意すべきポイントなども詳しくまとめているので是非ご覧ください。
Python3つの基本的な学習方法↓
sky-blog.hateblo.jp
なぜエラーが起きるのか?(構文エラーと例外の違い)
まず最初にPythoのエラーには、構文エラー(Syntax error)と例外(exception)の2種類あります。
構文エラー(Syntax error)は構文の誤りによって発生するエラーなのに対し、例外は構文は正しくても発生するエラーのことを言います。
基本的に構文エラーも例外もまとめてエラーと呼ばれることが多いですがこの2つの違いを抑えておきましょう。この記事では構文エラーと例外の両方をエラーとして表記しています。
エラーメッセージの確認方法
例としてエラーを起こしてみました。
プログラムにエラーが発生すると以下のようなメッセージが表示され、エラー内容、ファイル名、エラーの行番号などが表示されます。
#Sample.py print("Hello Python"
File "Sample.py", line 1 SyntaxError: unexpected EOF while parsing
今回の場合は、最終行を見るとSyntaxErrorと書かれていています。
初心者によくあるエラー
SyntaxError
このエラーは、構文に誤りがある場合に発生するエラーです。プログラミングエディタなどを使用するとコードを実行する前に教えてくれます。
例)全角と半角のミス、括弧()やコロン:が足りないなど
#Sample1.py #括弧が対応していない print("Hello Python" #SyntaxError: invalid syntax
#Sample1.py #訂正例 print("Hello Python") # Hello Python
#Sample2.py #全角と半角の違い(今回の場合はイコール) Strings = "Hello Python" #SyntaxError: invalid syntax
#Sample2.py Strings = "Hello Python"
IndentationError
インデントが正しく行われていない場合に起きるエラーです。
このエラーはまだ段階構造が理解できていない場合によくやりがちなものです。
例)インデントをしていない、インデントが合っていない
#Sample3.py for i in range(5): print(i) #IndentationError: unindent does not match any outer indentation level
#Sample3.py for i in range(5): print(i) # 0 1 2 3 4
TypeError
Type Errorは、データ型に誤りがある場合などに起きるエラーです。
例)文字列型(string型)と数値型(int型)を演算しようとしているなど
#Sample4.py str = "1" int = 1 print(str+int) #TypeError: unsupported operand type(s)
IndexError
InddexErrorは、リスト型やタプル型で値を取得しようとする際に、範囲外を指定している場合に起こるエラーです。
例)インデックスを1から始めている
#Sample5.py fruits = ["apple","banana","orange","cherry"] print(fruits[4]) #IndexError: list index out of range
#Sample5.py fruits = ["apple","banana","orange","cherry"] print(fruits[3]) # cherry
今回の場合は"apple"が0"banana"が1"orange"2"cherry"3が正しいインデックスになります。
KeyError
KeyErrorは、辞書型でキーが存在しない場合に起こるエラーです。
IndexErrorと似ているのでまとめて覚えておきましょう!
例)キーが存在しない
#Sample6.py fruits = {"apple":3,"banana":"2","orange":"2","cherry":1} print(fruits["lemon"]) #KeyError: 'lemon'
#Sample6.py fruits = {"apple":3,"banana":"2","orange":"2","cherry":1} print(fruits["cherry"]) # 1
存在しないキーに対してpop()関数やdelを使うと同様にKeyErrorになります。
AttributeError
AttributeErrorは、オブジェクトに存在しないメソッドを実行しようとしている場合に起こります。属性とはオブジェクトにある変数やメソッド(関数)のことを指します。
例)メッソド(関数)や属性が存在しない
#Sample7.py import random print(random.randam(0,10)) #AttributeError: module 'random' has no attribute 'randam'
#Sample7.py import random print(random.randint(0,10)) # 0 ~ 10の中から1つ選ばれる
このように randomオブジェクトには randamという属性は存在しません。なのでAttributeErrorが発生します。
NameError
NameErrorは、変数を取得しようとした際に定義されていない変数名を使用した場合に起きるエラーです。
例)スペルミス、モジュールのインポートをしていない
#Sample8.py a = "Hello Python" print(b) NameError: name 'b' is not defined
#Sample8.py a = "Hello Python" print(a) #Hello Python
#Sample9.py #<失敗例>モジュールをインポートしていない print(random.randint(0.10)) #NameError: name 'random' is not defined
#Sample9.py import random print(random.randint(0.10)) #1~10の乱数
ImportError(v3.6以前) / ModuleNotFoundError(v3.6以降)
ImportError/ ModuleNotFoundErrorはインポートしたモジュールが見つからない場合に発生します。
Pythonのインストールと同時に入っているモジュール以外は自分で導入が必要になります。
例)モジュールのインストールをしていない
ライブラリーのインストール方法はこちら↓
sky-blog.hateblo.jp
ZeroDivisionError
ZeroDivisionErrorは0で割り算をしようとすると発生するエラーです。
エラーが起きないよう例外処理をしっかりしましょう。
#Sample10.py print(2/0) #ZeroDivisionError: division by zero try: print(2/0) except: print("0で割ろうとしています!") # 0で割ろうとしています!
#Sample10.py try: print(2/0) except: print("0で割ろうとしています!") # 0で割ろうとしています!
UnboundLocalError
UnboundLocalErrorは、関数の中で関数の外の変数(グローバル変数)を扱う際に起こることがあるエラーです。
このエラーはスコープの概念を理解していないといけないのでまだ理解していない人は理解してからにしましょう。
#Sample11.py a = "Hello Java" def function(): print(a) a = "Hello Python" function() #UnboundLocalError: local variable 'a' referenced before assignment
このエラーの原因を解説します。まず変数aは定義されているのでなぜと思う型もいると思います。
通常、変数名を探索する際にローカールスコープから探索されローカルスコープにない場合外側のスコープから探索されます。
Pythonはローカルスコープ内に同じ名前の変数を見つけた場合ローカルスコープ内から値を取得しようとします。ですが変数が定義された後に実行されているのか定義前に実行されているかは考慮しないので
定義前にローカルスコープ内で使用するとエラーが起きます。
修正例
#Sample12.py a = "Hello Java" def function(): a = "Hello Python" print(a) function() # Hello Python
#Sample13.py a = "Hello Java" def function(): global a print(a) a = "Hello Python" function() # Hello Java
まとめ
今後プログラミングをやっていてエラーにあたることが多くあると思いますが基本的なエラーで時間を取られてしまうのは勿体無い事です。今回紹介した中では、特に、UnboundLocalErrorは初心者の方はちゃんと理解している人はあまり多くないと思います。まずは基礎を固めてエラーに対処できるようにしていきましょう!
Python学習ロードマップ↓
sky-blog.hateblo.jp
Pythonのおすすめの本まとめ↓
sky-blog.hateblo.jp.
Python3つの基本的な学習方法↓
sky-blog.hateblo.jp
誰でもできる基本的な3つのPython学習方法!
Python学習
プログラミングを始めてみたけど実際何を勉強したら良いかわからない
エラーで挫折してしまったということはプログラミングではよくあることです。
実際、僕もプログラミングを何年か続けていますが、始めたての頃、何度か挫折したことがあります。
この記事では、プログラミング初心者に僕がおすすめするPythonの学習方法や実際に使っていたサービスや本を紹介します!
中級者向けのものも紹介しているので是非最後まで見てください。
Pythonとは
そもそもPythonとはどんなものなのでしょうか?
Pythonは今最も注目されているプログラミング言語ですコードがシンプルで他の言語
に比べて文が短い特徴があります。
PythonはWebサイト作成からAIまで幅広く使われているので汎用性が高いといえるでしょう。
プログラミングを学習する方法は、人それぞれありますが今回は、僕がおすすめする基本的な3つの学習方法をまとめてみました。
1 Webサイトで学習する方法
まず最初に、Webサイトを使って学習をする方法です。この方法は、コストを低く抑えることができることができます。
とりあえず早くプログラミングに触れてみたいという方におすすめです。
ただどのサイトも基礎な知識はある前提で書かれているのでプログラミングを一切触れたことがない人には少し難しいと感じると思います。
ですが、プログラミングをやる上で、自分で調べて自分で解決するという事が大切です
その力をつける練習という意味ではチャレンジすることも必要でしょう。
Pythonを学習できるサイトをいくつか紹介します。
- Python-izm
このサイトは、Pythonの入門から応用まで幅広く取り扱ってくれているので今後継続的に力をつけて行きたい人はおすすめ
全て無料で読むことができるのでこのサイトで勉強するのも良いでしょう。
- Python tutorial 【中級者向け】
このサイトは、Pythonの公式チュートリアルで、Pythonの仕様や概念など基本的なことから細かいことまで書かれています。このサイトも無料で読むことができますが、ある程度プログラミングの知識がある前提で説明が書かれているので、初心者には、難しい用語などが出てくるので中級者~上級者あたりのレベルの人におすすめです。
他にもいろいろなサイトがあるのでGoogleで「Python 入門」などと調べてみるといいでしょう。
2 本を使って学習する方法
次は、本を使って学習をする方法です。
ちなみにですが、実際に、僕は本を読んでプログラミングを習得しました。
最初は、Web学習でいいかなとか思っていたんですが初心者の頃の僕はWebでの学習だと情報量が多すぎて理解が追い付かなかったので本を買って勉強をしました。
本で学習するメリットとしていろいろなレベルの本がので自分にあったレベルに
合わせやすく自分は、この方法を選びました。
おすすめの本
このシリーズは、書籍の中でもわかりやすさに定評があるものでこの1冊を読めばPythonの基礎は網羅できます。
3 プログラミングスクールを利用する方法
プログラミングスクールに通うことも視野に入れるのも良いでしょう
特に自分で独学して習得できる自信がない人や、一人でやっていくのはきついと思う人にはおすすめです。
まとめ
3つの方法を紹介しましたが個人的には、書籍での学習をおすすめします。
理由としては本での学習はは自分に合わせた本を選ぶことができ、コストを低く抑えることができるからです。
その分挫折してしまうというリスクはありますが、本の選び方で挫折するかどうかは決まります。要するに挫折さえしなければ書籍での学習が一番コスト面で良いということになります。
おすすめのPython学習本ランキング10選【初心者~上級者まで】
今回は、おすすめのPython学習本を10冊紹介します。
本の選び方のポイント
学習書籍を選ぶ上で一番大切なことは自分に合ったレベルの本を選ぶことです。
初心者の方は、挫折しないこと(モチベーションを落とさないこと)が一番大切になります。最初は、やさしい本で何度も練習をして基礎を覚えましょう。
これは全てに言えることですが、自分のレベルに合わない本は買わないようにしましょう、自分に合わないレベルの本を買ってしまうと返ってモチベーションの低下や挫折の原因になりかねません。自分に合ったレベルの本を買ってわからない部分をコツコツと潰していきましょう。
初心者向けおすすめの本
Python一年生
読みやすさ:★★★★★
難易度:★☆☆☆☆
Pythonの絵本 Pythonを楽しく学ぶ9つの扉
読みやすさ:★★★★★
難易度:★★☆☆☆
独習Python
読みやすさ:★★★★☆
難易度:★★★☆☆
スッキリわかるPython入門
わかりやすさ:★★★★☆
難易度:★★☆☆☆
中級者向けおすすめの本
入門Python 3
わかりやすさ:★★★★☆
難易度:★★★☆☆
独学プログラマー Python言語の基本から仕事のやり方まで
読みやすさ:★★★★☆
難易度:★★★☆☆
エキスパートPythonプログラミング改訂2版
読みやすさ:★★☆☆☆
難易度:★★★★☆
上級者向けおすすめの本
Pythonハッカーガイドブック
読みやすさ:★★☆☆☆
難易度:★★★★★
Fluent Python ―Pythonicな思考とコーディング手法
読みやすさ:★★☆☆☆
難易度:★★★★★
実践Python 3
読みやすさ:★★☆☆☆
難易度:★★★★★
Pythonの学習方法はこちらから