gpt4 book ai didi

mysql - 在 macOS 上使用 MySQL 设置 Django

转载 作者:行者123 更新时间:2023-11-29 09:56:32 24 4
gpt4 key购买 nike

我是 Django 新手,正在尝试在 macOS 上设置一个连接到 MySQL 的基本 Web 应用程序。但是,我似乎无法让 mysqlclient 在 macOS 上工作。

我正在运行虚拟环境和以下版本:

$ brew --version
Homebrew 1.8.5
$ pip --version
pip 18.1
$ python --version
Python 3.7.1
$ mysql --version
mysql Ver 8.0.12 for osx10.14 on x86_64 (Homebrew)

当我尝试pip install mysqlclient时(https://pypi.org/project/mysqlclient/)我明白

ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'gcc' failed with exit status 1

根据文档“您可能需要像这样安装Python和MySQL开发头文件和库:” $ brew install mysql-connector-c这会产生另一个错误:

Error: Cannot install mysql-connector-c because conflicting formulae are installed.
mysql: because both install MySQL client libraries

Please `brew unlink mysql` before continuing.
$ brew unlink mysql
$ brew install mysql-connector-c
==> Pouring mysql-connector-c-6.1.11.mojave.bottle.tar.gz
🍺 /usr/local/Cellar/mysql-connector-c/6.1.11: 79 files, 15.3MB
brew link mysql
Error: Could not symlink bin/my_print_defaults
Target /usr/local/bin/my_print_defaults
is a symlink belonging to mysql-connector-c
$ brew link --overwrite mysql

现在我可以从控制台启动 mysql,但是当我更新 django, mysite settings.py 以连接到 MySQL 时,我得到了

ModuleNotFoundError: No module named 'MySQLdb'

这里是相关的settings.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django',
'USER': 'root',
'PASSWORD': 'XXXXXX',
'HOST': 'localhost',
'PORT': '3306',
}
}

我还根据错误报告检查了 mysql_config https://bugs.mysql.com/bug.php?id=86971

Usage: /usr/local/bin/mysql_config [OPTIONS]
Compiler: Clang 10.0.0.10001145
Options:
--cflags [-I/usr/local/Cellar/mysql/8.0.12/include/mysql ]
--cxxflags [-I/usr/local/Cellar/mysql/8.0.12/include/mysql ]
--include [-I/usr/local/Cellar/mysql/8.0.12/include/mysql]
--libs [-L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient -lssl -lcrypto]
--libs_r [-L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient -lssl -lcrypto]
--plugindir [/usr/local/Cellar/mysql/8.0.12/lib/plugin]
--socket [/tmp/mysql.sock]
--port [0]
--version [8.0.12]
--variable=VAR VAR is one of:
pkgincludedir [/usr/local/Cellar/mysql/8.0.12/include/mysql]
pkglibdir [/usr/local/Cellar/mysql/8.0.12/lib]
plugindir [/usr/local/Cellar/mysql/8.0.12/lib/plugin]

我尝试了多种不同的解决方案,但到目前为止还没有成功。感觉就像我掉进了兔子洞 - 非常感谢任何帮助;)

我已查看以下页面上建议的解决方案,但尚未解决:

我怀疑该问题是由于同时安装 MySQL 服务器和 Connector/C 中描述的问题造成的... https://dev.mysql.com/doc/refman/5.7/en/c-api-multiple-installations.html但不知道该怎么办。

最佳答案

ld:找不到 -lssl 的库 -> 缺少 openssl 包,最好是 openssl 开发包。

From this github issue

brew install openssl
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/

关于mysql - 在 macOS 上使用 MySQL 设置 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53753805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com