pip install mysql-pythonがEnvironmentErrorで失敗する:mysql_configが見つかりません


823

これは私が得るエラーです

(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log

これを解決するにはどうすればよいですか?


1
このスレッドを参照してください:[MySQLdbはPythonのインターフェースインストール時にmysql_configをが見つからない]を[1]私のために働いた:) [1]:stackoverflow.com/questions/7475223/...
スタッカート

私は、MAC OSのユーザーだ私は、この問題聖霊降臨祭この質問は解決stackoverflow.com/questions/50940302/...
PatricioS

回答:


1398

mysql_configがシステムにないか、インストーラーが検出できなかったようです。mysql_configが実際にインストールされていることを確認してください。

たとえば、Debian / Ubuntuでは、パッケージをインストールする必要があります。

sudo apt-get install libmysqlclient-dev

mysql_configがパスに含まれていない可能性があります。自分でmysqlスイートをコンパイルする場合にそうなります。

更新: debian / ubuntuの最近のバージョン(2018年時点)では、

sudo apt install default-libmysqlclient-dev

24
それでもエラーが発生しました。apt-get install python-mysqldb代わりに使用しました。
Jonatan Littke、2012年

51
私の2cの経験:sudo apt-get install libmysqlclient-dev私のために働いて、sudo apt-get install python-mysqldb助けにはならなかった
Anentropic

20
@JonatanLittkeグローバルpython-mysqldbのインストールは、virtualenv IMOのポイントに反します。
fncomp 2013年

42
Mariadbのためにsudo apt-get install libmariadbclient-dev、トリックをしました。
yuvilio 2013年

11
これらのソリューションは、あなたのために動作しない場合は、あなたはまだのpython-devをインストールする必要がされる可能性があります:apt-get install python-dev
Anoyz

295

Mac OSでは、ターミナルでこれを実行して修正しました。

export PATH=$PATH:/usr/local/mysql/bin

これは私が見つけた最も速い修正です-パスに追加し/etc/pathsますが、MySQL-pythonを別の環境にインストールする場合は、永続的に追加する(つまりに追加する)方がよいと思います。

(OSX Mountain Lionでテスト済み)


6
一方、bitnamiのMAMPスタックを使用しているexport PATH=$PATH:/Applications/mampstack-5.3.17-0/mysql/bin場合は、この商用MAMPスタックを使用している場合は、アンインストールしてbitnami 1を取得します。これは、たわごとであり、mysqlヘッダーが含まれていないためです。
Timmmm

3
パスを永続的にするには、パスをの下部に追加し/etc/pathsます。新しいパスにアクセスするには、新しいターミナルウィンドウを開く必要があります。
rojoca

@Timmmmすべてのデータベースが公式バージョンであるため、非常に高価なソリューション:/これを整理する他の方法はありますか?
Volatil3 2014

1
非常に役立ちます。XAMPPを使用している場合は、次のように使用しますexport PATH=$PATH:/Applications/XAMPP/xamppfiles/bin
Kevin London

10
これでようやくうまくいきました!mysqlがインストールされていない場合もbrew install mysql、場所がある場所を使用します/usr/local/bin/mysql(または/usr/local/Cellar/mysql/VERSION/bin/シンボリックリンクされていない場合)。
Aziz Alto

102
apt-get install libmysqlclient-dev python-dev

トリックを行うように見えた。


2
はい、私にとってはlibmysqlclient-devだけでは不十分で、python-devも不足していました。
アンダーソンサントス

Ubuntu 12.04(正確)(32ビット)では、10.04(明快)からインプレースアップグレードした後、これだけでこれらのエラーが解決しました。特に追加の「python-dev」!
アイス

私にとってもうまくいきました-python-devはパズルの最後のピースでした。すでにpython-mysqldbがインストールされているため、必要なのはそれだけではありません。
Tim S.

更新:Python3の場合、インストールする必要がありますpython3-dev
セザール2018

これを行う必要があり、インストールgccを成功させるためにもインストールする必要がありました。また、それはおそらくないのがベストだpython-devが、そのようななどの特定のバージョンを指定python2.7-devpython3.6-devなどを、
ティムTisdall

89

上記の問題にはさまざまな答えが考えられますが、以下に集約されたソリューションを示します。

Ubuntuの場合:

$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb

CentOSの場合:

$ yum install python-devel mysql-devel

centosのヒントをありがとう。私は今朝ずっとずっと追っていました。
ピートマグシグ

追加する価値があるかもしれません python3-dev/python3-devel
Gergely M

36

MACを使用している場合は、これをグローバルにインストールします

brew install mysql

次に、このようにパスをエクスポートします

export PATH=$PATH:/usr/local/mysql/bin

グローバルに、またはvenvで好きなように

pip install MySQL-Python

注:Macはpython2と3の両方を持つことができるため、python3に対してグローバルに

pip3 install MySQL-Python

34

MySQLコネクタ/ Pythonを使用できます

PyPipによるインストール

pip install mysql-connector-python

詳細については、MySQL Connector / Python 1.0.5ベータ発表ブログをご覧ください。

Launchpadには、ライブラリを使用してデータを追加、編集、または削除する方法の良い例があります。


3
私がmysqldbをあきらめ、不足しているmysql_configを台無しにしたとき、これは私にとって唯一有効でした。私の目的にはうまくいきます。
wh1tney 2013

@wjobaさらに説明できますか?py-mysql2pgsqlmysql_configのインストールとエラーの発見。MAMPを使用しています。mysqkコネクタは何をしますか?
Volatil3 2014

1
@ Volatil3 mysql-connector-pythonは、mysql-pythonのすぐに使える代替品としてうまく機能しました。前者をpip経由でインストールすると問題なく機能し、mysql_configエラーが解消されました。これは、(開発者の言葉では)mysqlコネクタが「純粋なPythonであり、他のMySQLソフトウェアを必要としないため、Cライブラリやコンパイルが不要」であるためです。お役に立てば幸いです。このソリューションで説明されているインストールを試して、エラーが引き続き発生するかどうかを確認してください。
wh1tney 14

Ubuntu 14/4では、「mysql-connector-python」という要件を満たすダウンロードが見つかりませんでした
Timo

このコマンドは、他のすべてを試した後、私にとってはうまくいきました。
時計

27

以下のためのCentOSユーザー:

yum install -y mysql-devel python-devel python-setuptools

その後

pip install MySQL-python


このソリューションが機能しない場合、次のようなgccコンパイルエラーを出力します。
_mysql.c:29:20: error: Python.h: No such file or directory

次のPython.hようにのパスを指定する必要があります。
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python


1
これは、Pythonバイナリpipをインストールするための適切なインクルードファイルがないかのように聞こえます。Python自体は通常、インクルード場所を提供します。パスを手動で指定すると、おそらく間違ったバージョンが指定されます。
Martijn Pieters

sudo pip install MySQL-pythonエラーが原因で私はしなければなりませんcopying build/lib.linux-x86_64-2.7/_mysql_exceptions.py -> /usr/lib64/python2.7/site-packages error: /usr/lib64/python2.7/site-packages/_mysql_exceptions.py: Permission denied
でした

18

私はmysql-pythonAmazon EC2 Linuxインスタンスにインストールしようとしていて、これらをインストールする必要がありました:

yum install mysql mysql-devel mysql-common mysql-libs gcc

しかし、私はこのエラーを受け取りました:

_mysql.c:29:20: fatal error: Python.h: No such file or directory

だから私はインストールしました:

yum install python-devel

そして、それはトリックをしました。


1
私が使用した:sudo yum install mysql mysql-devel mysql-common mysql-libs gcc 私のvirtualenvの外。その後、仮想環境に戻って実行するpip install mysql-pythonと、うまくいきました。
タンディ2015

1
dnf install mysql-devel gcc私にとっては十分でした、それは残りに依存します
イェンス・ティンマーマン

python-develPython 2.7を使用している場合、これを試してみるとエラーになりますpython27-devel
Sizzling Code

8

MySQLの代わりにMariaDBを使用している人にとっての解決策は、libmariadbclient-devパッケージをインストールし、正しい名前で構成ファイルへのシンボリックリンクを作成することです。

たとえば、これは私にとってうまくいきました:

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config

2
これは、特定の既知のデータベースソケットに接続したい場合に役立つ、あまり評価されていない回答です。スタンドアロンのmysqlデータベースに接続するのに役立ちました。ここでのほとんどのソリューションは、msqlクライアントの再インストール(または2番目または3番目のインストールなど)を推奨しています。
7yl4r 2017年


6

OSXマーベリックス

osx mavericksおよびxcode開発ツール内の変更により、インストール時にエラーが発生する場合があります

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

したがって、使用:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python


5

mariadbの場合libmysqlclient-devの代わりにlib mariadb client-devをインストールします

sudo apt-get install libmariadbclient-dev

MariaDBでDebian 9 Stretchを使用するときに必要なもの
anhtran

4

mysql最初にインストールする必要があります:

yum install python-devel mysql-community-devel -y

次に、インストールできますmysqlclient

pip install  mysqlclient

2

時々、エラーは実際の原因に依存します。mysql-pythonがpython-mysqldb debianパッケージを介してインストールされたケースがありました。

これを知らない開発者が誤って実行pip uninstall mysql-pythonしてからpip install mysql-python、上記のエラーを出して回復に失敗しました。

pip uninstall mysql-pythonは、debianパッケージの内容を破棄していましpip install mysql-pythonたが、debianパッケージがdevファイルを必要としなかったため、もちろん失敗しました。

その場合の正しい解決策は、apt-get install --reinstall python-mysqldbmysql-pythonを元の状態に復元することでした。


2

Terraform:lightコンテナーでも同じ問題が発生しました。アルパインをベースにしています。

そこで、mariadb-devを次のようにインストールする必要があります。

apk add mariadb-dev

しかし、他のすべての依存関係も見逃されているため、それだけでは十分ではありません。

apk add python2 py2-pip gcc python2-dev musl-dev

2

従うべきシーケンス。

pip install mysqlclient
sudo apt-get install python3-dev libmysqlclient-dev
pip install configparser 
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 

次に、MYSQL-pythonを再度インストールしてみます。それは私のために働いた


1

OS X Server 10.6.8にインストールしようとして同様の問題がありました。これが私がしなければならなかったことです。使用:

MySQL-python 1.2.4b4(ソース)MySQL-5.6.19(バイナリインストーラー)Python 2.7(バイナリインストーラー)注:virtualenvにインストールしています...

ソースを解凍し、「distribute_setup.py」を開き、DEFAULT_VERSIONを編集して、次のような最新バージョンの配布ツールを使用します。

DEFAULT_VERSION = "0.6.49"

セーブ。「site.cfg」ファイルを開き、mysql_configへのパスのコメントを解除して、次のようにします(mysql_configへの独自のパスを参照)。

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/local/mysql/bin/mysql_config

これで、クリーンアップ、ビルド、およびメイクは、「mysql_config」が見つからないというエラーで失敗しなくなりました。これが他の誰かが古いxserveを利用しようとするのを助けることを願っています:-)


1

sudoパスはローカルパスを認識していません...スーパーユーザーモードに入り、パスを追加し、そこからインストールします。

sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit

そして、あなたはOSXで稼働しています。これで、グローバルpythonが更新されました。


1

MySQL-pythonを仮想環境にインストールする場合は、pipのバージョンを確認してください。バージョンが9.0.1より古い場合は、更新してください。

pip install --upgrade pip

stackoverflow.com/questions/7475223/を参照してください...あなたの答えは役に立たないと思います
Linus

0

MacOS Mojaveでは、mysql_configは上記の/ usr / local / mysql / binではなく/ usr / local / bin /にあるため、パスに何も追加する必要はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.