pip3-install-mysqlclient-error

2060 ワード

先にコンポーネントをインストールしてみてください


CentOS:
yum install libmysqld-dev libmysqlclient-dev

Ubuntu:
apt-get install libmysqld-dev libmysqlclient-dev

mysqlclientのインストールエラー


参照:mysqlclient
ローカル環境:
Python-3.6.2
mysqlclient-1.3.7
mysql-connector-c-6.1.11

インストールエラーの原因:
OSError: mysql_config not found
----------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/jf/qymg1tp13sb434xzh5knyl6r0000gn/T/pip-build-NlZGvS/mysqlclient/

解決策の1つ:
まずmysql-connector-cをインストールする必要があります
コマンド:
brew install mysql-connector-c

エラーは別のエラーになります.
Traceback (most recent call last):
      File "", line 1, in 
      File "/private/var/folders/2f/r1pwfcp521q7z9kd240tr3700000gn/T/pip-build-u8yhUI/mysqlclient/setup.py", line 17, in 
        metadata, options = get_config()
      File "setup_posix.py", line 54, in get_config
        libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]
      File "setup_posix.py", line 12, in dequote
        if s[0] in "\"'" and s[0] == s[-1]:
    IndexError: string index out of range

このようにissueでの方法によりmysql_を修正する必要があるconfigファイルの構成./usr/local/bin/mysql_configにあります.
次のようになります.
# origin code

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

# change to 

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

このときpip3 install mysqlclientが再装着.
成功した.
------システムの再インストール後、上記の方法は失敗しました.の
次のコマンドを実行してインストールします.
pip install -r requirements.txt --global-option=build_ext --global-option="-I/usr/local/opt/openssl/include" --global-option="-L/usr/local/opt/openssl/lib"

from:ibrary-not-found-for-lssl