解决 Mac Django 连接Mysql 出现 image not found 问题

最近在使用 Django 框架,因为升级到4.2版本了,对应的本机 Mysql 5.7 就不适用了,于是升级到了 Mysql 8.0,写好代码之后出现如下错误:

在这里插入图片描述
仔细分析一下错误的描述:

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-darwin.so, 2): Library not loaded: /usr/local/mysql/lib/libmysqlclient.20.dylibReferenced from: /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-darwin.soReason: image not found

可以看到的是 Library not loaded:, 库文件并未加载,库文件地址为:/usr/local/mysql/lib/libmysqlclient.20.dylib, 直接在命令行执行:

open /usr/local/mysql/lib/

得到如下界面:
在这里插入图片描述

可以看到,在 mysql 文件夹下,只存在libmysqlclient.21.dylib 文件,并不存在libmysqlclient.20.dylib,这既是问题的症结所在了,我需要加载的是20文件,但是现在只存在21文件,然后我们来找一下我系统中,dylib到底有哪些?使用命令行:

sudo find /usr/local -name "libmysqlclient.*.dylib"

找到了如下图:
在这里插入图片描述
我发现目前只存在我的mysql-8.0.12文件夹下面,但是在 Django 框架下,没办法去更改加载21文件,那么能不能生成一个20文件,来内容来使用21文件替代呢?正好Mac 电脑下有这种命令:

ln -s [目标文件或目录] [符号链接名]

ln 是一个在 Unix 和类 Unix 系统(包括 macOS 和 Linux)中非常常用的命令行工具,用于创建链接。

  1. 符号链接(软连接):

符号链接类似于 Windows 中的快捷方式。它是一个特殊类型的文件,包含一个文本指针指向另一个文件或目录的路径。

创建符号链接的命令格式为:

ln -s [目标文件或目录] [符号链接名]

例如,如果你想创建一个指向 /usr/local/mysql/lib/libmysqlclient.20.dylib 的符号链接,你可以使用:

ln -s /usr/local/mysql/lib/libmysqlclient.20.dylib ~/libmysqlclient.20.dylib

这个命令会在你的根目录创建一个 libmysqlclient.20.dylib 的符号链接,它指向 /usr/local/mysql/lib/libmysqlclient.20.dylib。

  1. 硬链接
    硬链接直接指向文件系统中的物理位置,不像符号链接那样仅仅是路径的引用。每个文件至少有一个硬链接(即其本身的文件名),添加的每个础链接都可以视为文件的另一个有效名称。硬链接对文件夹是不支持的。(和复制还是有些区别的)

创建硬链接的命令格式为:

ln [目标文件] [硬链接名]

例如,在同一目录下要为 /path/to/file.txt 创建一个硬链接,可以使用:

ln /path/to/file.txt /path/to/new_link.txt

那我为了解决这个问题,我只需要将我的21文件链接到20文件即可:

sudo ln -s /usr/local/mysql-8.0.12-macos10.13-x86_64/lib/libmysqlclient.21.dylib 
/usr/local/mysql/lib/libmysqlclient.20.dylib

执行之后,再次查看对应文件夹:
在这里插入图片描述
可以看到,这里多了一个链接文件,然后重试项目:
在这里插入图片描述
发现链接成功! 搞定,如果有问题,可以随时wx:javainstalling,代号:Django!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1122 找奇葩

solution 目标数&#xff1a;出现次数为奇数次&&该数本身为奇数 #include<iostream> using namespace std; const int maxn 1e5 10; int flag[maxn] {0}; int main(){int n, x;scanf("%d", &n);for(int i 1; i < n; i){scanf("%d&qu…

EIS 2019 webshell

请求中可以确定是http POST流量 同时可以判断是 蚁剑的流量 进一步过滤 http.request.method "POST" 直接追踪其tcp流 得到 列举部分 eVAl(cHr(0x40).ChR(0x69).ChR(0x6e).ChR(0x69).ChR(0x5f).ChR(0x73).ChR(0x65).ChR(0x74).ChR(0x28)直接输出一下 内容 <…

DeepMind:从LLMs到VLMs,不用看图就能理解图?

论文标题&#xff1a; FlexCap: Generating Rich, Localized, and Flexible Captions in Images 论文作者&#xff1a; Debidatta Dwibedi, Vidhi Jain, Jonathan Tompson, Andrew Zisserman, and Yusuf Aytar 参与机构&#xff1a; Google DeepMind, Carnegie Mellon Uni…

Quantlab 4.1:基于Deap遗传算法多股票因子挖掘

原创文章第549篇&#xff0c;专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 遗传算法本身并不复杂&#xff0c;但gplearn的实现&#xff0c;把问题复杂化了&#xff0c;尤其在因子挖掘这个场景。 使用deap进行因子挖掘的代码在如下位置&#xff1a; import …

Nexus3(nexus-3.19.1-01)忘记管理员密码

1、停服 ./nexus stop 2、进入OrientDB控制台&#xff1a; cd /apply/nexus3/nexus-3.42.0-01/lib/support/ java -jar ./nexus-orient-console.jar 3、在控制台执行&#xff1a; connect plocal:/apply/nexus3/sonatype-work/nexus3/db/security admin admin 4、重置密码…

Redis之常用实战场景

1.Redis数据丢失场景 1.1 持久化丢失 采用RDB或者不持久化&#xff0c;就会有数据丢失&#xff0c;因为是手动或者配置以快照的形式来进行备份。 解决: 启用AOF&#xff0c;以命令追加的形式进行备份&#xff0c;但是默认也会有1s丢失&#xff0c;这是在性能与数据安全性中寻…

深入解析Spring Cloud Config:构建高可用分布式配置中心

在微服务架构中&#xff0c;配置管理是一个关键问题。Spring Cloud Config提供了一种解决方案&#xff0c;它是一个高可用、分布式的外部配置中心。本文将深入探讨Spring Cloud Config的原理、架构及其在实际项目中的应用&#xff0c;帮助读者掌握如何构建一个高效、可靠的分布…

SD NAND(贴片式TF卡)在储能领域的应用

储能系统&#xff08;Energy Storage System&#xff0c;简称ESS&#xff09;是指能将电能以化学能、势能、动能等形式储存起来&#xff0c;并在需要时将其转化为电能供应给用户的设备。主要由电池管理系统&#xff08;BMS&#xff09;、能量管理系统&#xff08;EMS&#xff0…

拿到Offer了才知道,这家公司年终奖只有几百块~

我也挠头了 最近又有不少粉丝上岸了&#xff0c;其中一位分享的事情比较有意思&#xff0c;和你分享一下&#xff1a; 以后你对比Offer的时候也可以多个经验。 事情是这样的&#xff1a; 他在经过2个多月空窗期之后终于拿到了Offer&#xff0c;月薪涨幅不大&#xff0c;但是…

java的clone

一、clone的用法&#xff1a; package chatRoom.F5;class Person implements Cloneable{//1.public String name;public Person(String name) {this.name name;}//2.protected Person clone() throws CloneNotSupportedException {return (Person)super.clone();//重写Object…

媒体有入口,发稿有入口 是什么意思?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体有入口&#xff0c;发稿有入口是指在新闻媒体发稿时&#xff0c;稿件可以通过一定的路径被访问和浏览。具体来说&#xff0c;有入口的新闻稿件可以通过点击链接&#xff0c;逐步深入…

芯片验证分享1 —— 开篇及名词解释

大家好&#xff0c;我是谷公子的藏经阁&#xff0c;今天和大家很高兴能和大家分享的是芯片验证中的一些内容&#xff0c;希望对大家的日常工作有所帮助&#xff0c;如果这些内容有帮助到大家的话&#xff0c;那么此次的分享就很值得。另外&#xff0c;对于这个课题&#xff0c;…

ChatTTS增强版,增强音质、批量处理、固定音色、支持长文本

大家好&#xff0c;最近ChatTTS文字生成语音项目挺火。只需要输入一段文字&#xff0c;就可以生成一段非常逼真的声音。声音的效果非常不错。它支持英文和中文两种语言。我在原版的基础上做了一些改动&#xff0c;整合包分享给大家。 功能介绍 除了基础的文本生成音频功能以外…

实验10 RIP协议配置

实验10 RIP协议配置 一、原理描述二、RIPv1配置&#xff08;一&#xff09;实验目的&#xff08;二&#xff09;实验内容&#xff08;三&#xff09;实验配置&#xff08;四&#xff09;实验步骤 三、 RIPv2配置&#xff08;一&#xff09;实验目的&#xff08;二&#xff09;实…

IT闲谈——什么是容器?

目录 什么是容器一、容器的起源与发展二、目前使用较多的容器三、容器能用来做什么四、容器的应用场景 什么是容器 随着云计算和微服务的兴起&#xff0c;容器技术逐渐成为IT行业的热门话题。容器&#xff0c;简而言之&#xff0c;是一种轻量级的、可移植的、独立的软件包&…

【Python】轻松打包:CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南

【Python】轻松打包&#xff1a;CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南 大家好 我是寸铁&#x1f44a; 总结了一篇【Python】轻松打包&#xff1a;CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南✨ 喜欢的小伙伴可以点点关注 &#…

【CXL协议-控制和状态寄存器(8)】

8.0 控制和状态寄存器 Compute Express Link 设备控制和状态寄存器被映射到单独的空间&#xff1a;配置空间和内存映射空间。配置空间寄存器使用配置读取和配置写入进行访问。内存映射寄存器使用内存读取和内存写入进行访问。表 123 总结了本章中定义的寄存器位的属性。除非另…

人员身份级的数据中心机房作业随工

电信运营商的数据中心机房作为承载各类业务系统的物理基础&#xff0c;其运维安全直接关系到业务的连续性和数据的安全性。传统的机房管理方式依赖人工审核和监督&#xff0c;存在效率低下、安全隐患多等问题。因此&#xff0c;通过综合运用物联网、大数据分析和人工智能技术&a…

机器学习AI大模型的开源与闭源:哪个更好?

文章目录 前言一、开源AI模型1.1 开源的优点1.2 开源的缺点 二、闭源AI模型2.1 闭源的优点2.2 闭源的缺点 三、开源与闭源的平衡3.1 开源与闭源结合的案例3.2 开源与闭源的战略选择 小结 前言 在过去的几年里&#xff0c;人工智能&#xff08;AI&#xff09;和机器学习&#xf…

Docker 基础使用(3) 存储卷

文章目录 存储卷的含义存储卷的分类存储卷的作用存储卷的使用存储卷实际使用案例 ---- MySQL灾难恢复存储卷的局限 Docker 基础使用&#xff08;0&#xff09;基础认识 Docker 基础使用 (1) 使用流程概览 Docker 基础使用&#xff08;2&#xff09; 镜像与容器 Docker 基础使用…