CentOS 7 pythonはMySQLdbモジュールエラーlibmysqlclientをインポートする.so見つからない

3106 ワード

CentOS 7でpythonをインストールするmysqlデータベース操作モジュールmysql-pythonを最小化し、インポート使用時にsoファイルが欠落してインポートエラーが発生します.備考:こちらのmysqlデータベースはカスタムパッケージです
1.MySQL-pythonモジュールのインストール
~]# pip install MySQL-python
Collecting MySQL-python
  Downloading https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB)
    100% |████████████████████████████████| 112kB 144kB/s 
Installing collected packages: MySQL-python
  Running setup.py install for MySQL-python ... done
Successfully installed MySQL-python-1.2.5

2.MySQLdbモジュールのインポートエラーは次のとおりです.
~]# python
Python 2.7.5 (default, Nov  6 2016, 00:28:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 19, in 
    import _mysql
ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory

3.解決の考え方
検索so.20、/usr/lib 64/mysql/libmysqlclientにソフト接続する.so.20
~]# find / -name libmysqlclient.so.20
/opt/app/install/mysql-5.7.19/lib/libmysqlclient.so.20

~]# ln -s /opt/app/install/mysql-5.7.19/lib/libmysqlclient.so.20 /usr/lib64/mysql/libmysqlclient.so.20

その後、MySQLdbモジュールを使用してインポートすれば問題ありません.また、findがlibmysqlclientを検索できない場合.soファイルは、MySQL-develとMySQL-sharedをインストールする必要があります.mysqlはカスタムパッケージなので、libmysqlclientをインストールしていません.soファイルが打ち込まれました.