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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,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] Pythonで挫折しない学習方法を動画で公開中

実例

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を使って機械学習の基礎を学ぶPython講座を開催しています。

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

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

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