Pythonのパッケージ管理システムpipの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPythonのパッケージ管理システムpipの使い方について解説しています。様々なモジュールなど外部プログラムを利用しているとパッケージを管理するツールやライブラリを使った方が便利になります。pipなどのパッケージ管理システムが相互の互換性や依存関係を解決してくれます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonのパッケージ管理システムpipの使い方について解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

パッケージ管理システムpipの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

パッケージ管理システムとは

パッケージ管理システムとは、環境に導入するソフトウェアを一元的に管理するための仕組みです。

一般にパッケージ管理システムは、ソフトウェアのインストール/アンインストール/更新、インストール済ソフトウェアの検索、パッケージの作成といった機能を持ちます。

OSではRedHat系のyum、Debian系のaptといったパッケージ管理システムがあります。

プログラミング言語ではPythonのpip、Rubyのgem、Node.jsのnpmなどがあります。

 

Pythonのためのパッケージ管理システムpipとは

Pythonのためのパッケージ管理システムがpipです。
pipは後述のPyPIに公開されているPythonパッケージのインストールなどを行うユーティリティです。

サードパーティ製のPythonモジュールをインストールする場合、pipを使うのが一般的です。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

pipの基本的な使い方(パッケージのインストール、アンインストールなど)

パッケージのインストール、アンインストールにはpip install/uninstallコマンドを用います。コマンド書式は以下の通りです。
 

pip install <パッケージ名>
pip uninstall <パッケージ名>

 
以下はpython-chatbotというパッケージをインストールした例です。
 

$ pip install python-chatbot
Collecting python-chatbot
  Downloading https://files.pythonhosted.org/packages/ce/74/0ffe8f02158e116c3a280f6957ff5a0545c2e0dd21532085dc89cedbf3fd/python_chatbot-0.0.2-py2.py3-none-any.whl
Installing collected packages: python-chatbot
Successfully installed python-chatbot-0.0.2

 
以下は上記でインストールしたパッケージをアンインストールした例です。
 

$ pip uninstall python-chatbot
Uninstalling python-chatbot-0.0.2:
  Would remove:
    /usr/local/lib/python3.6/dist-packages/chatbot/*
    /usr/local/lib/python3.6/dist-packages/python_chatbot-0.0.2.dist-info/*
Proceed (y/n)? y
  Successfully uninstalled python-chatbot-0.0.2

 

PyPIというサイトの活用方法

PyPIは、Pythonのサードパーティ製モジュールを集約公開しているサイトです。記事執筆時点で17万プロジェクトがPyPIにモジュールを公開しています。

Pythonの標準モジュールでは実装できない機能がある(実装にたいへん手間がかかる)場合には、必要な機能を提供したり、実装をサポートしたりするモジュールをPyPIから検索してみるといいかもしれません。

 

監修してくれたメンター

橋本紘希

システムインテグレータ企業勤務のシステムエンジニア。

開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。