Mac OS安装 mysqlclient 遇到的坑及解决办法
发布网友
发布时间:2024-10-23 09:59
我来回答
共1个回答
热心网友
时间:2024-10-23 20:28
在搭建 Python 开发环境时,安装 mysqlclient 经常会遇到各种挑战。以下是一些常见的问题及其解决策略,帮助你快速解决安装过程中可能遇到的坑。
首先,安装 MySQL 及其依赖项。通常,直接从官网下载并安装 MySQL 安装包即可。与此同时,确保已安装 OpenSSL。
尝试使用 pip 安装 mysqlclient:
pip install mysqlclient
在 Mac 上,你可能需要解决 pip2.7 和 pip3 切换的问题。可以参考相关指南找到解决方案。若安装过程中遇到问题,可以调整环境变量来解决:
brew install mysql-connector-c
export PATH=$PATH:/usr/local/Cellar/mysql-client/8.0.18/bin
在 mysql_config 源文件中,修改以下内容:
# Create options libs="-L$pkglibdir" libs="$libs -l "
改为:
# Create options libs="-L$pkglibdir" libs="$libs -lmysqlclient -lssl -lcrypto"
然后重新安装 mysqlclient:
pip install mysqlclient
至此,大部分问题应该得到解决。
使用虚拟环境(venv)时,需单独设置环境变量。设置后,你可以在用户配置文件中添加这些变量以确保每次启动终端时都能自动应用。
若在运行应用时遇到错误,如:
python manage.py runserver
pip show PyMySQL
vim /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/mysql/base.py
注释掉 “if version...”,并配置 setting.py 中的数据库设置。
在 DATABASES 配置中,明确指定数据库名称、主机、端口、用户和密码:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'oa', 'HOST': 'localhost', 'PORT': 3306, 'USER': 'root', 'PASSWORD': '???', } }
在完成数据库设置后,执行应用命令,如:
python manage.py runserver
紧接着,执行:
python manage.py migrate
再次运行:
python manage.py runserver
至此,所有操作顺利进行,你的应用应能正常运行。