web-dev-qa-db-ja.com

pipおよびPython 3.6を使用してmysqlclientをUbuntu 16.04にインストールする際のエラー

mysqlclientonUbuntu 16.04 Xenialwithpip+Python 3.6

 pip install mysqlclient

出力:

 _mysql.c:40:20: fatal error: Python.h: No such file or directory
 compilation terminated.
 error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

インストール要件 に従って、必要なライブラリをインストールしようとしましたが、これまでのところ運はありません。

Sudo apt-get install python3-dev libmysqlclient-dev

誰かがこの問題の回避策を知っていますか?

18
Ander

mysqlclient in python3.6ライブラリpython3.6-devが必要ですのインストールのように思えます。

ターミナルを開いて、次のコマンドを実行するだけです。

Sudo apt-get install python3.6-dev libmysqlclient-dev

ライブラリをインストールしようとすると、次のエラーが表示される場合があります。

Reading state information...
E: Unable to locate package python3.6-dev
E: Couldn't find any package by glob 'python3.6-dev'
E: Couldn't find any package by regex 'python3.6-dev'

その場合は、最初に次のリポジトリを追加してみてください。

Sudo add-apt-repository ppa:jonathonf/python-3.6
Sudo apt-get update

そうしたら、python3.6python3.6-devパッケージの両方をインストールできるはずです。

35
Ander

python 3.6.3にmysqlclientをインストールするのに問題があったため、バージョン3.6.2にダウングレードし、機能しました。

Sudo apt-get install build-essential checkinstall
Sudo apt-get install libreadline-gplv2-dev  libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd /usr/bin
Sudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
Sudo tar xzf Python-3.6.2.tgz
cd Python-3.6.2
Sudo ./configure --enable-optimizations
Sudo make altinstall

python3.6は3.6.2を指す必要があります

python --version # Python 3.6.2

mysqlclientをインストールします

python3.6 -m pip install mysqlclient

続きを読む

1
Bar Horing

私は同じ問題に直面していました:

#Sudo pip3 install mysqlclient fails with mysql_config not found
Sudo apt-get install libmysqlclient-dev
#without pip3 it will not going to work for python3
Sudo pip3 install mysqlclient

上記の方法で解決しました。

参照リンク

0
chocha ashish