CentOS 常見異常及解決辦法

cutercorley發表於2020-11-15

1.pip3安裝mysqlclient報錯python setup.py egg_info Check the logs for full command output.

在CentOS上部署Django專案時,經常需要安裝MySQL資料庫引擎,如mysqlclient,在執行pip3 install mysqlclient命令時,可能會報錯如下:

ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-zmnd8v74/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-zmnd8v74/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-jpy0d_w0
         cwd: /tmp/pip-install-zmnd8v74/mysqlclient/
    Complete output (12 lines):
    /bin/sh: mysql_config: command not found
    /bin/sh: mariadb_config: command not found
    /bin/sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-zmnd8v74/mysqlclient/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "/tmp/pip-install-zmnd8v74/mysqlclient/setup_posix.py", line 65, in get_config
        libs = mysql_config("libs")
      File "/tmp/pip-install-zmnd8v74/mysqlclient/setup_posix.py", line 31, in mysql_config
        raise OSError("{} not found".format(_mysql_config_path))
    OSError: mysql_config not found
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

這是因為缺少mysql-devel包,需要現進行安裝,同時為了解決包版本衝突和依賴衝突,需要先下載並安裝mysql的yum源,命令如下:

# 下載對應版本mysql的yum源的rpm包
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

# 安裝rpm包
rpm -ivh mysql57-community-release-el7-8.noarch.rpm

然後再執行yum install mysql-devel命令安裝mysql-devel包,列印如下:

Loaded plugins: fastestmirror
mysql-connectors-community                                                                                                                                                                 | 2.6 kB  00:00:00     
mysql-tools-community                                                                                                                                                                      | 2.6 kB  00:00:00     
mysql57-community                                                                                                                                                                          | 2.6 kB  00:00:00     
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-devel.x86_64 0:5.7.32-1.el7 will be installed
--> Finished Dependency Resolution

就將mysql-devel包安裝成功了。

最後再執行pip3 install mysqlclient命令就可以成功安裝mysqlclient引擎。

相關文章