web-dev-qa-db-ja.com

Mac OS X-EnvironmentError:mysql_configが見つかりません

最初に、ええ、私はすでにこれを見ました:

pip install mysql-pythonはEnvironmentErrorで失敗します:mysql_config not found

問題

Google App EngineプロジェクトでDjangoを使用しようとしています。ただし、次の理由によりサーバーが正常に起動しないため、起動できませんでした。

ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

私はいくつかの調査を行いましたが、すべてがMysql-pythonをインストールする必要があることを指摘しました。私は実際にそれをアンインストールしてみましたが、これを得ました

Cannot uninstall requirement mysql-python, not installed

私が実際にインストールしようとするたびに:

Sudo pip install MySQL-python

次のようなエラーが表示されます。

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

私はすでに実行しようとしました:

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

しかし、インストールコマンドを再度実行しても失敗したため、それは役に立たなかったようです。

何か案は?

私はvirtualenvにいないことに注意してください。

95
daniel_c05

さて、まず最初に、私があなたと同じページにいるかどうかを確認しましょう。

  • Pythonをインストールしました
  • brew install mysqlをしました
  • export PATH=$PATH:/usr/local/mysql/binをしました
  • 最後に、pip install MySQL-Python(python 3を使用している場合はpip3 install mysqlclient)を実行しました

これらの手順をすべて同じ順序で実行してもエラーが発生する場合は、最後まで読んでください。ただし、これらの手順を最初から実行して、これらの正確な手順に従わなかった場合。

だから、あなたは手順に従ったが、まだエラーが発生している、まあ、あなたが試すことができるいくつかのことがあります:

  1. Bashからwhich mysql_configを実行してみてください。おそらく見つからないでしょう。それがビルドがそれを見つけられない理由です。 locate mysql_configを実行して、何かが戻ってくるかどうかを確認してください。このバイナリへのパスは、シェルの$ PATH環境変数にあるか、そのファイルの特定の場所を探していると仮定して、モジュールのsetup.pyファイルに明示的にある必要があります。

  2. MySQL-Pythonを使用する代わりに、「mysql-connector-python」を使用してみてください。pip install mysql-connector-pythonを使用してインストールできます。これに関する詳細は here および here をご覧ください。

  3. 「mysql/bin」、「mysql_config」、および「MySQL-Python」の場所を手動で見つけ、これらすべてを$ PATH環境変数に追加します。

  4. 上記のすべての手順が失敗した場合、MacPortsを使用して「mysql」のインストールを試みることができます。この場合、「mysql_config」ファイルは実際には「mysql_config5」と呼ばれ、この場合、インストール後にexport PATH=$PATH:/opt/local/lib/mysql5/bin詳細を見つけることができます こちら

注1:python-devlibmysqlclient-devのインストールも助けになったと言う人を見たことがありますが、これらのパッケージがMac OSで利用可能かどうかわかりません。

注2:また、rootとしてコマンドを実行してみてください。

私はこれらの場所から(私の脳以外に)答えを得ました(たぶんあなたはそれらを見て、それが役立つかどうかを見ることができます): 12 、- 、 4

私が助けてくれることを望み、これがうまくいったかどうかを知りたいと思っています。がんばろう。

290
user3429036

私はこの問題を永遠にデバッグしてきました-3時間17分。特に私を悩ませたのは、以前のuni作業ですでにシステムにsqlがインストールされていたが、pip/pip3がそれを認識していなかったことです。上記のこれらのスレッドおよび私がインターネットを精査した他の多くは、問題を解明するのに役立ちましたが、実際には問題を解決しませんでした。

答え

Pipは、Macintosh HD@に対して相対的なHomebrewディレクトリでmysqlバイナリを探しています。

usr/local/Cellar/

そのため、いくつかの変更を行う必要があることがわかりました

ステップ1:MySqlをまだダウンロードしていない場合はダウンロード https://dev.mysql.com/downloads/

ステップ2:Macintosh HDおよびcd

usr/local/mysql/bin

ステップ3:ターミナルを開いて、選択したテキストエディタを使用します-私は自分でneovimを使用しているので、入力しました(Macには自動的に付属しません...別の日に別の話をします)

nvim mysql_config

ステップ4:約112行目に表示されます

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "

への変更

# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

*このファイルには読み取り専用アクセスがあるため、vimまたはneovimを使用している場合

:w !Sudo tee %

ステップ5:ルートディレクトリに移動し、.bash_profileファイルを編集します

cd ~

それから

nvim .bash_profile

そして追加

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

ファイルに保存します

ステップ6:Macintosh HDからの相対パスを見つけて追加する

cd private/etc/

それから

nvim paths

そして追加

/usr/local/mysql/bin

*このファイルには読み取り専用アクセスがあるため、vimまたはneovimを使用している場合は、

:w !Sudo tee % 

それから

cd ~

次に、実行して変更を加えてターミナルを更新します

source .bash_profile

最後に

pip3 install mysqlclient

そしてヴィオラ。それが雰囲気であることを忘れないでください。

これは、mysqlclientをインストールしたときにも発生します。

$ pip install mysqlclient

ユーザー3429036が言ったように、

$ brew install mysql
2
AndreL

完全なmysqlをインストールしたくない場合は、mysqlclient brew install mysqlclientをインストールするだけでこれを修正できます。cmdが完了すると、以下の行を~/.bash_profileに追加するように求められます。

echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile

ターミナルを閉じて新しいターミナルを起動し、pip install mysqlclientに進みます

0
Arun