web-dev-qa-db-ja.com

「pip install MySQL-python」が「IndexError」で失敗する

OSX El Capitanで、Python 2.7(Anaconda)を使用しています。コマンドpip install MySQL-pythonの結果:

Collecting MySQL-python
  Using cached MySQL-python-1.2.5.Zip
    Complete output from command python setup.py Egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/d2/Gd004m2s35z5dlyz9mfn6sc40000gn/T/pip-build-FYvb_T/MySQL-python/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 53, in get_config
        libraries = [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ]
      File "setup_posix.py", line 8, in dequote
        if s[0] in "\"'" and s[0] == s[-1]:
    IndexError: string index out of range

これらはいずれも機能しませんでした(同じエラーで終了します)。

  • pip install mysqlclient
  • easy_install MySQL-python

pipは最新です。私は基本的に関連する質問のすべての提案に従うことを試みましたが、どれも成功しませんでした。どんな助けも感謝します!

15
mommi84

このブログからコピーします。

mysql-connector-cbrewインストールによる設定が間違っている可能性があるという結論に達するかもしれません、/usr/local/bin/mysql_configその内容の一部を変更するスクリプト:

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

着替える:

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

セーブ
次に、mysql-pythonを再インストールします。

pip install mysql-python
33
wangpeng

同じエラーが発生し、次の手順で解決しました。

  1. mysql-connector-cをアンインストールする
  2. mysqlをインストールする
  3. 「mysql_config --libs」を呼び出し、その出力に正しいライブラリオプションが含まれていることを確認します。「-L/usr/local/Cellar/mysql/5.7.20/lib -lmysqlclient -lssl -lcrypto」
  4. export LDFLAGS = -L/usr/local/opt/openssl/lib && pip install mysqlclient
7
Yoichi Nakayama

これは私の問題を解決しました:

     brew install [email protected]
     brew link --force [email protected]

pip install MySql-pythonのインストール中に同じエラーが発生しました。

次に、次のコマンドを使用してlibmysqlclient-devをインストールしました。

Sudo apt install libmysqlclient-dev

それをインストールした後、私はもう一度試してpip install MySql-python、それは私のために働いた。

0
Ahmed Ginani