django目前支持三種mysql驅動來進行mysql的鏈接
MySQLdb is a native driver that has been developed and supported for over a decade by Andy Dustman.
mysqlclient is a fork of
MySQLdb
which notably supports Python 3 and can be used as a drop-in replacement for MySQLdb. At the time of this writing, this is the recommended choice for using MySQL with Django.MySQL Connector/Python is a pure Python driver from Oracle that does not require the MySQL client library or any Python modules outside the standard library.
mysqldb 目前不支持python3+,推薦使用mysqlclient
嘗試了在pycharm上直接安裝mysqlclient,報以下錯誤:OSError: mysql_config not found
在git上查閱安裝步驟:
Prerequisites
You may need to install the Python and MySQL development headers and libraries like so:
sudo apt-get install python-dev libmysqlclient-dev
# Debian / Ubuntu
sudo yum install python-devel mysql-devel
# Red Hat / CentOS
On Windows, there are binary wheel you can install without MySQLConnector/C or MSVC.
Note on Python 3 : if you are using python3 then you need to install python3-dev using the following command :
sudo apt-get install python3-dev
# debian / Ubuntu
sudo yum install python3-devel
# Red Hat / CentOS
brew install mysql-connector-c
# macOS (Homebrew)
Install from PyPI
pip install mysqlclient
因爲我在mac上,使用的python3,故先執行命令:
brew install mysql-connector-c
然後再執行:
pip3 install mysqlclient
報如下錯誤:
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-m9v70gan/mysqlclient/
這個地方有點疑惑:使用pip3命令後,最終調用的是python,而不是python3
查看mysqlclient的源代碼,發現根本原因還是因爲沒找到mysql_config,明白過來需要安裝mysql,才能正常安裝mysqlclient
Installed /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/mysqlclient-1.3.10-py3.6-macosx-10.6-intel.egg
Processing dependencies for mysqlclient==1.3.10
Finished processing dependencies for mysqlclient==1.3.10