オーダーメイドコース
icon
icon

Pythonのライブラリインストール時のエラーの解決方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのライブラリインストール時のエラーの解決方法について現役エンジニアが解説しています。実行プログラムや共有ライブラリをコンパイルするときにpython.hヘッダファイルをシステム上で発見できないことが原因です。yumやaptコマンドでヘッダファイルを導入します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonのライブラリインストール時のエラーの解決方法について解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonのライブラリインストール時のエラーの解決方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

ライブラリインストール時のエラー「python.h そのようなファイルやディレクトリはありません」の原因

pipでモジュールを追加インストールすると、以下のエラーが発生する場合があります。

    • python.h そのようなファイルやディレクトリはありません
    • python.h: No Such File or Directory

一部モジュールはインストール時に実行プログラムや共有ライブラリをコンパイルします。
その際に、参照するpython.hヘッダファイルをシステム上で発見できないことが原因です。

エラーの解決方法

以下のようにpython.hヘッダファイルを導入します。

yumパッケージマネージャを利用する場合(RedHatやCentOSなど)

yum install python3-devel

aptパッケージマネージャを利用する場合(UbuntuやDebianなど)

apt install python3-dev

パッケージマネージャを利用しない(できない)場合には、Pythonをソースコードからコンパイルしインストールします。

[PR] 未経験からWebエンジニアを目指す方法とは

実例

psutilモジュールをインストールしようとするとエラーになりました。

$ pip3 install psutil
Collecting psutil
  Using cached https://files.pythonhosted.org/packages/1c/ca/5b8c1fe032a458c2c4bcbe509d1401dca9dda35c7fc46b36bb81c2834740/psutil-5.6.3.tar.gz
Installing collected packages: psutil
  Running setup.py install for psutil ... error
(中略)
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic 
-D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPSUTIL_POSIX=1 
-DPSUTIL_VERSION=563 -DPSUTIL_LINUX=1 -I/usr/include/python3.6m -c psutil/_psutil_common.c -o build/temp.linux-x86_64-3.6/psutil/_psutil_common.o
    psutil/_psutil_common.c:9:20: fatal error: Python.h: No such file or directory
#include 
                        ^
compilation terminated.
error: command 'gcc' failed with exit status 1

解決のため、python3-develパッケージをインストールしました。

# yum install python3-devel

以下の通り、psutilモジュールをインストールできました。

$ pip3 install psutil
Collecting psutil
  Using cached https://files.pythonhosted.org/packages/1c/ca/5b8c1fe032a458c2c4bcbe509d1401dca9dda35c7fc46b36bb81c2834740/psutil-5.6.3.tar.gz
Installing collected packages: psutil
  Running setup.py install for psutil ... done
Successfully installed psutil-5.6.3

 

監修してくれたメンター

橋本紘希

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。