启动 PyCharm 时 Dyld 错误消息

2023-12-06

几周来我一直在试图解决这个问题,但仍然陷入困境。我一直在研究它并慢慢获得更多信息,但还无法解决它。

我在 Stack Overflow 上读过这些类似的问题:

dyld:库未加载:/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/Python

dyld:库未加载:/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

解决 PyCharm python 错误 - dyld: Library not returned

问题是每次启动 PyCharm 时都会弹出以下错误:

Process:               Python [15298]
Path:                  /Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
Identifier:            Python
Version:               3.6.4 (3.6.4)
Code Type:             X86-64 (Native)
Parent Process:        pycharm [14715]
Responsible:           pycharm [14715]
User ID:               501

Date/Time:             2021-03-27 08:19:23.857 -0700
OS Version:            macOS 11.2.3 (20D91)
Report Version:        12
Bridge OS Version:     3.0 (14Y908)
Anonymous UUID:        130B1388-444D-6CF3-9D98-7F06C81783B0

Sleep/Wake UUID:       89450DAE-41C7-4035-B0DA-8AAB177D9DD3

Time Awake Since Boot: 82000 seconds
Time Since Wake:       1000 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  dyld: No shared cache present
Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
  Reason: image not found

Binary Images:
       0x100000000 -        0x100000fff +org.python.python (3.6.4 - 3.6.4) <E585A67D-C0DB-448A-2E74-422D61BDC1C1> /Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
    0x7fff639aa000 -     0x7fff63a45fff  dyld (832.7.3) <0D4EA85F-7E30-338B-9215-314A5A5539B6> /usr/lib/dyld

Model: MacBookPro14,2, BootROM 429.80.1.0.0, 2 processors, Dual-Core Intel Core i5, 3.1 GHz, 8 GB, SMC 2.44f6
Graphics: kHW_IntelIrisGraphics650Item, Intel Iris Plus Graphics 650, spdisplays_builtin
Memory Module: BANK 0/DIMM0, 4 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C3531324D3332443250462D3039
Memory Module: BANK 1/DIMM0, 4 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C3531324D3332443250462D3039
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x171), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1675.1)
Bluetooth: Version 8.0.3d9, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB 3.0 Bus
USB Device: Apple T1 Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.4
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.4

我相信这种情况是在更新我的 PyCharm 安装、Python 或 Xcode Developer 工具后开始发生的。根据我的研究,我得出的结论是,一些可能的问题可能导致这种情况发生。

  1. 我的虚拟环境可能会出现某些问题

  2. 我的路径可能有问题

  3. 尝试在我的计算机上管理多个 Python 版本时可能会出现问题

有关我的情况的更多信息。

在 PyCharm 错误消息的顶部显示以下行:

Path:/Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python 

这似乎表明 PyCharm 可能正在尝试与 Python 3.6 一起启动?

当我输入env在终端命令我得到以下输出:

PATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:/Library/Frameworks/Python.framework/Versions
 /3.9/bin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/Library/Frameworks/Python.framework/
Versions/3.9/bin:/Users/my_name/opt/anaconda3/bin:/Users/my_name/opt/anaconda3/condabin:/anaconda3/bin:
 /Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.6/
bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.6/
bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Library/Apple/usr/bin

前面的问题中提到的一些解决方案涉及更改路径或删除/重新创建虚拟环境。

我真的不熟悉如何做这两件事。有谁知道我可以采取什么措施来阻止每次启动 PyCharm 时弹出此错误消息?我是终端新手,所以我不确定我是否理解以前的解决方案。

有谁知道问题可能是什么或者我可以做些什么来解决这个问题?我尝试重新安装 Python 和 PyCharm,但这些解决方案都没有解决问题。

Note, I am running:
Max OS: Big Sur 11.2.3
Python 3.9
PyCharm: Community 2020.3.4

  1. 我的虚拟环境可能会出现某些问题

最简单的解决方案是使用 venv - 它是标准库,因此是虚拟环境的最佳基线。 (为了完整性,值得一提的是历史上有过多种解决方案为此。)作为一个例子使用 PyCharm GUI 创建 venv很简单,它从基础 Python 解释器创建一个新的解释器,可以选择共享它的站点包。 GUI 可让您与PyPI安装额外的软件包。

最终,值得学习使用命令行执行相同的操作,请参阅 venv — 虚拟环境的创建。这归结为 3 个命令

  1. 创建 venv(因为你的电脑上有 Python)PATH)

    c:\>python -m venv c:\path\to\myenv

  2. 激活 venv(这是特定于操作系统的,请参阅文档)

    <venv>/bin/activate

  3. 激活后使用 pip 安装您想要的任何库

    pip install library_name

创建并激活 venv 后,即可在终端(PyCharm 内部或外部)上使用它,或者您可以将其与运行配置在 PyCharm 中。

现在,在您的情况下,您还使用 Anaconda,它为您管理包和环境。但重要的是要认识到 Anaconda 所做的大部分工作都是封装在它自己的 GUI 中的上述步骤,请参阅与查找 Anaconda Python 解释器路径.

除此之外,还有一条硬性规定venvs 不应被复制或移动。它们内部有硬编码的路径,这些路径会被破坏。所以,当你创建一个venv在您创建它的目录中使用它。整个要点venv问题是,如果你破坏了某些东西,你只需即时创建一个新的东西即可。最终,您将需要编写自己的 shell 脚本来自动创建venvs.

  1. 我的路径可能有问题
PATH=
/Library/Frameworks/Python.framework/Versions/3.9/bin:
/Library/Frameworks/Python.framework/Versions/3.9/bin:
/Library/Frameworks/Python.framework/Versions/3.9/bin:
/Library/Frameworks/Python.framework/Versions/3.9/bin:
/Users/my_name/opt/anaconda3/bin:
/Users/my_name/opt/anaconda3/condabin:
/anaconda3/bin:
/Library/Frameworks/Python.framework/Versions/3.6/bin:
/Library/Frameworks/Python.framework/Versions/3.6/bin:
/Library/Frameworks/Python.framework/Versions/3.6/bin:
/Library/Frameworks/Python.framework/Versions/3.6/bin:
/usr/local/bin:
/usr/bin:/bin:
/usr/sbin:
/sbin:
/Library/TeX/texbin:
/Library/Apple/usr/bin

在 macOS/Linux 上,冒号:用作路径分隔符。所以如果我们打破了你的PATH将环境变量放入单独的行中,我们看到 Python 3.9 和 Python 3.6 重复(可能不同微型版本,通过在每个目录中运行可执行文件来检查python --version)。路径名的含义在中得到了很好的解释4. 在 Macintosh 上使用 Python

为了避免任何混淆,我的电脑上只安装了最新的 Python 版本PATH。我需要的任何其他基本 Python 版本都是通过激活正确的方式透明地选择的venv.

您还拥有binAnaconda 的路径,检查这些路径以了解 Anaconda 可执行哪些内容。除此之外,你还有正常的操作系统内容/Library/Apple/usr/bin这不应该干扰任何与 Python 开发相关的事情。

最后,模块发现比您的模块中的内容更加动态PATH. 模块搜索路径 sys.path填充执行脚本的路径,这意味着任何模块/包directory\where_you_execute\python your_script.py是可发现的(您可以在运行时检查它)。

  1. 尝试在我的计算机上管理多个 Python 版本时可能会出现问题

这就是事情变得复杂的地方。如果您使用不同的解释器、软件包版本等...最终您会希望获得一个第三方工具来帮助管理所有这些,这将是Anaconda, or 虚拟环境 or Poetry或等等......但本质上所有这些所做的是管理venv随着功能性和复杂性的增加,学习如何创建和管理非常重要venv手动以更好地了解这些工具为您做什么。

最后,PyCharm IDE 本身是用 Java 实现的。当您启动 IDE 时,它有自己的可执行文件,极少数情况下,与 Python 解释器相关的某些内容会导致 IDE 在启动时崩溃。从好的方面来说,你知道罪魁祸首是你的 Python 解释器之一,即从错误消息来看:

Python Version: 3.6.4 (3.6.4)

具体的错误说明了一切(文件被移动,或者某些错误破坏了链接):

“原因:找不到图像”。

如果您无法启动 IDE 从内部解决问题,请删除对有问题的解释器的任何引用通过编辑配置文件。我不知道具体该怎么做,但如果您使用 Anaconda,应该可以从 IDE 外部启动 Anaconda GUI,以摆脱有问题的解释器。

顺便说一句,如果您因现场有多位口译员而遇到问题PATH使用which pythonbash 上的命令,或者where pythonWindows 上的命令。这会告诉你你的Python解释器是什么PATH当您或某些应用程序执行时被调用python something在命令行上。

我认为这个问题(或其他链接的问题)没有足够的信息来完全诊断问题。这需要深入研究具体情况蟒蛇配置- 但brew 用户也报告了同样的错误。

最可能的情况是,当您启动 PyCharm 时,解释器列表会填充并调用 Anaconda。在升级到最新的 Python 版本后,现有环境之一变得不同步,因为它解析为 PATH 上的先前基本解释器(而不是硬编码到特定安装)。包间不兼容,需要进行一般更新,某些内容被删除,或者只是缓存需要清除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

启动 PyCharm 时 Dyld 错误消息 的相关文章

随机推荐

  • Python 通过请求更改 Instagram 个人资料图片

    我正在尝试使用 python post 请求更改我的 Instagram 个人资料图片 但它没有改变 我没有收到任何错误 在回复中 它说他们已经更改了它 但是更改为白色 Instagram 人物照片 而不是我选择的照片 request ur
  • 为什么不能从 ArrayAdapter 添加/删除项目?

    我正在使用一个ArrayAdapter
  • SQL Server 长查询中的表锁 - 解决方案:NoLock?

    我的应用程序中的报告运行一个需要 5 15 秒的查询 仅限于将返回的行数 该查询对我的应用程序的几乎所有主表 客户 销售 单位等 有 8 个联接 一个小工具向我展示 此时 所有这 8 个表都被共享表锁锁定 也就是说 此时不会进行任何更新操作
  • targetSdkVersion 26 在崩溃报告中给出异常

    根据到 2018 年 11 月将目标 SDK 版本更新到 26 的要求 我在几个月前尝试更新我的 gradle 文件并发布了我的应用程序的新版本 将目标 sdk 和编译 sdk 版本更新为 26 从 23 之后 一天之内 我开始在 Fire
  • 未找到 Gradle DSL 方法:“classpath()”

    项目 FeedBack 可能使用不包含该方法的 Android Gradle 插件版本 例如 在 1 1 0 中添加了 testCompile 修复插件版本并同步项目 项目 FeedBack 可能使用不包含该方法的 Gradle 版本 打开
  • 请指出我学习异步Javascript过程中的错误

    我是 Javascript 和异步编程的新手 有些事情让我感到困惑 请指出我学习中的错误 异步函数的回调被放入消息队列中 通过事件循环执行 异步执行是非阻塞的 完成 通过事件循环 功能类似于setTimeout是异步的 异步函数是阻塞的 只
  • 创建不可移动类型的 std::vector

    我有一个std vector named args 我不知道编译时向量的大小 和不可移动类型NonMoveable 我想创建一个与 args 大小相同的向量 因此它等于 NonMovable args 0 additional arg No
  • git log 并在裸仓库上显示

    我在家里本地网络的文件服务器上创建了一个裸存储库 之后 我将现有存储库的一个分支从我的桌面电脑推送到这个新的远程存储库 推送工作完美 似乎所有数据都已到达 gitbranch va 给了我正确的数据 但我无法在裸存储库上使用 git log
  • 某些 bash 脚本中使用的“function”关键字是什么?

    例如 Bash Prog 简介 HOWTO function foo 我在以下位置进行搜索查询info bash并查看 POSIX 的相关章节function关键字但没有找到 What is function某些 bash 脚本中使用的关键
  • Kubernetes 滚动更新是否可以从服务负载均衡器中优雅地删除 Pod

    负载均衡器后面的主机滚动更新的标准做法是优雅地停止轮换主机 这可以通过将主机标记为 不健康 并确保主机不再接收来自负载均衡器的请求来完成 Kubernetes 是否会对由 ReplicationController 管理并为 LoadBal
  • Angular 中的变更检测 API 底层架构

    我正在阅读这篇文章 并对更改检测操作的工作原理感到困惑 https vsavkin com change detection in angular 2 4f216b855d4c 这个概念 Angular 表示它不会进行脏检查 也没有像 An
  • 如何通过 ingress 在 GKE 中启用 cors

    我尝试使用以下注释启用带有入口的 cors 但没有成功 kubernetes io ingress class nginx nginx ingress kubernetes io enable cors true 正确的注释是ingress
  • 是否有一棵树可以对对象进行排序?

    我编写了一个红黑二叉统计树 以获得与红黑树中其他对象可比较的任意对象的排名 我想知道是否有一个 API 类提供相同的功能 如果给定一个等级 该类有一个函数可以返回树中该等级的对象 那就太好了 请注意 红黑 BST 允许在 log n 时间内
  • 将 Unicode 代码点转换为 UTF-8 和 UTF-32

    我想不出一种方法来删除前导零 我的目标是for循环创建每个数字的 UTF 8 和 UTF 32 版本 例如 对于 UTF 8 我不需要删除前导零吗 有谁有解决方案来解决这个问题 基本上我要问的是 有人有一个简单的解决方案将 Unicode
  • 空 XML 分离出默认 XML

    我有一个传递给 XSL 的 XML 它提供了标准输出 根据某些情况 有时我可能会将 XML 设为空 如果我们有空 XML 并获取 XSL 中的标准或默认输出 有什么办法吗 如果我们有空 XML 有什么办法吗 并获取标准或默认值 放入 XSL
  • Java(Eclim + Vim)“system.out.print”不工作

    我是 Java 编程新手 今天在摆弄 eclim 和 vim 时 我发现 System out println 功能不起作用 class apples public static void main String args double t
  • 更改屏幕后反应本机保存按钮状态

    我的应用程序中有 5 个按钮 跑步 骑行 阅读 编码 牛儿 当我单击它时 按钮会更改其颜色并在屏幕上显示标题 我正在使用这个库 反应本机选择多个按钮 假设我单击了 跑步 和 骑行 按钮 这些按钮将突出显示 并且文本将显示在屏幕上 但是当我将
  • C#中如何通过socket发送文件

    我有服务器和客户端控制台应用程序 它们可以很好地通信并发送一些字符串 这是代码 Server public static void Main try IPAddress ipAd IPAddress Parse 127 0 0 1 Init
  • 使用自定义类加载器加载资源包

    import java io ByteArrayOutputStream import java io File import java io IOException import java io InputStream import ja
  • 启动 PyCharm 时 Dyld 错误消息

    几周来我一直在试图解决这个问题 但仍然陷入困境 我一直在研究它并慢慢获得更多信息 但还无法解决它 我在 Stack Overflow 上读过这些类似的问题 dyld 库未加载 usr local Cellar python 3 7 4 1