linuxでmysqlclientをインストールしようとしたらCommand “python setup.py egg_info” failed with error code 1 in /tmp/pip-install-qbin6ua6/mysqlclient/エラー発生

linuxでmysqlclientを入れようとしたらエラー発生

pip install mysqlclientを実行するとCommand "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-qbin6ua6/mysqlclient/エラーが発生しました。ディストリビューションによって対策が変わってきますがlinuxは簡単になおすことができます。

linuxにpipでmysqlclientを入れる


$ sudo yum install python-devel mysql-devel
$ pip install mysqlclient

これだけでインストールできました! python-devel

python-develとはPython開発に必要なヘッダーファイル、静的ライブラリ、Pythonモジュールが含まれている開発用ツールです。
mysql-develとはMySQLに必要なヘッダーファイル、静的ライブラリ、Pythonモジュールが含まれている開発用ツールです。

pythonにあった新しいpython-develを適用する

現在のpythonのバージョンが3.6.6なのでpython3-develを実行しようと思いましたが、$ sudo yum install python3-devel を実行すると下記エラーが発生しました。

読み込んだプラグイン:priorities, update-motd, upgrade-helper
パッケージ python3-devel は利用できません。

そんなときは、

1. yumを最新の状態にする
$ sudo yum update

2. バージョン確認する
$ python –version

3. python3で使えるpython-develを探す
sudo yum search python3 | grep devel


python34-devel.x86_64 : Libraries and header files needed for Python 3.4
: development
python35-devel.x86_64 : Libraries and header files needed for Python 3.5
: development
python36-devel.i686 : Libraries and header files needed for Python 3.6
: development
python36-devel.x86_64 : Libraries and header files needed for Python 3.6
: development

なるほど!上記から自分にあったものを探せばよいのか。

4. python36-devel.x86_64をインストールする

$ sudo yum install python36-devel.x86_64python3-develをインストールすることができました。yumでインストールがこけた場合は、sudo yum search 〜で探すと間違いないです!!