最初に、ええ、私はすでにこれを見ました:
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にいないことに注意してください。
さて、まず最初に、私があなたと同じページにいるかどうかを確認しましょう。
brew install mysql
をしましたexport PATH=$PATH:/usr/local/mysql/bin
をしましたpip install MySQL-Python
(python 3を使用している場合はpip3 install mysqlclient
)を実行しましたこれらの手順をすべて同じ順序で実行してもエラーが発生する場合は、最後まで読んでください。ただし、これらの手順を最初から実行して、これらの正確な手順に従わなかった場合。
だから、あなたは手順に従ったが、まだエラーが発生している、まあ、あなたが試すことができるいくつかのことがあります:
Bashからwhich mysql_config
を実行してみてください。おそらく見つからないでしょう。それがビルドがそれを見つけられない理由です。 locate mysql_config
を実行して、何かが戻ってくるかどうかを確認してください。このバイナリへのパスは、シェルの$ PATH環境変数にあるか、そのファイルの特定の場所を探していると仮定して、モジュールのsetup.pyファイルに明示的にある必要があります。
MySQL-Pythonを使用する代わりに、「mysql-connector-python」を使用してみてください。pip install mysql-connector-python
を使用してインストールできます。これに関する詳細は here および here をご覧ください。
「mysql/bin」、「mysql_config」、および「MySQL-Python」の場所を手動で見つけ、これらすべてを$ PATH環境変数に追加します。
上記のすべての手順が失敗した場合、MacPortsを使用して「mysql」のインストールを試みることができます。この場合、「mysql_config」ファイルは実際には「mysql_config5」と呼ばれ、この場合、インストール後にexport PATH=$PATH:/opt/local/lib/mysql5/bin
詳細を見つけることができます こちら 。
注1:python-dev
とlibmysqlclient-dev
のインストールも助けになったと言う人を見たことがありますが、これらのパッケージがMac OSで利用可能かどうかわかりません。
注2:また、rootとしてコマンドを実行してみてください。
私はこれらの場所から(私の脳以外に)答えを得ました(たぶんあなたはそれらを見て、それが役立つかどうかを見ることができます): 1 、 2 、- 、 4 。
私が助けてくれることを望み、これがうまくいったかどうかを知りたいと思っています。がんばろう。
私はこの問題を永遠にデバッグしてきました-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
完全なmysqlをインストールしたくない場合は、mysqlclient brew install mysqlclient
をインストールするだけでこれを修正できます。cmdが完了すると、以下の行を~/.bash_profile
に追加するように求められます。
echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
ターミナルを閉じて新しいターミナルを起動し、pip install mysqlclient
に進みます