尝试“pip install mysqlclient”时出现“OSError: mysql_config not found” - Django

Wil*_*ard 1 pip virtualenv mysql-python macos-high-sierra

我对 Django 和一般的 Web 开发比较陌生。

我在尝试着

pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)

在我的

virtualenv -p python3
Run Code Online (Sandbox Code Playgroud)

将 Django 2.0 连接到 mySQL。但是,我收到此错误:

Collecting mysqlclient
Using cached mysqlclient-1.3.12.tar.gz
Complete output from command python setup.py egg_info:
/bin/sh: mysql_config: command not found
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup.py", line 17, in <module>
    metadata, options = get_config()
  File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup_posix.py", line 44, in get_config
    libs = mysql_config("libs_r")
  File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup_posix.py", line 26, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
OSError: mysql_config not found

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/
Run Code Online (Sandbox Code Playgroud)

我已经环顾四周寻找答案好几个小时了,是的,我已经检查了这个这个,但似乎没有任何效果。

任何帮助将非常感激!

小智 10

python包“mysqlclient”依赖于C系统库来驱动mysql连接?如果你在ubuntu 16.4上?只是做如下?

sudo apt-get install libmysqlclient-dev
sudo pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)


Pra*_*ani 2

您应该从克隆 mysqlclient 存储库开始:

git clone https://github.com/PyMySQL/mysqlclient-python
Run Code Online (Sandbox Code Playgroud)

那么你就必须得到mysql-connector-c. 您可以通过执行以下操作来获取它:

brew install mysql-connector-c
Run Code Online (Sandbox Code Playgroud)

/usr/local/bin/mysql_config然后在文本编辑器中打开。

来自 Github问题

mysql_config 中有如下行:

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "
Run Code Online (Sandbox Code Playgroud)

它应该是:

#Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
Run Code Online (Sandbox Code Playgroud)

保存该文件并更改回您下载存储库的目录。现在打开site.cfg文件。取消注释该行(删除#)

#mysql_config = /usr/local/bin/mysql_config
Run Code Online (Sandbox Code Playgroud)

保存并运行:

python3 setup.py install
Run Code Online (Sandbox Code Playgroud)