LLDB 出现 _remove_dead_weakref 错误
Getting _remove_dead_weakref error for LLDB
每次我在 MacOS 上启动 lldb 时,都会收到以下错误。
File "<input>", line 1, in <module>
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py", line 52, in <module>
import weakref
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/weakref.py", line 14, in <module>
from _weakref import (
ImportError: cannot import name _remove_dead_weakref
我检查过所有文件和名称都在那里。
我不知道是什么导致了这个问题。
有什么想法吗?
lldb 使用的 Python 框架实际上是系统自带的,而不是 Xcode,但除此之外,Brad 在上面。
lldb 链接到 Python,它用于支持一系列可扩展性功能。即使 lldb 从系统安装中拉入 Python dylib - 因为这是它链接到的 - 其他 Pythons 的存在(通常是因为其他 python 二进制文件在你的路径上提前于 /usr/bin/python) 将导致 Python 从其他 Python 安装读取其库文件。总的来说,这似乎不太顺利。
在我们遇到的大多数情况下,确保 /usr/bin/python 在您的路径最前面即可解决问题。还要确保 PYTHONPATH 没有引用您端安装中的 python 文件。
要将系统 Python 用于 lldb 但继续将 Homebrew python 用于其他所有内容,请将此 shell 脚本另存为 ~/.local/bin/lldb
:
#!/bin/sh
unset PYTHONPATH
export PATH=/usr/bin:$PATH
exec lldb "$@"
然后chmod +x ~/.local/bin/lldb
使其可执行。确保 ~/.local/bin
在您的 PATH
中,并且在系统 lldb
所在的 /usr/bin
之前。
每次我在 MacOS 上启动 lldb 时,都会收到以下错误。
File "<input>", line 1, in <module>
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py", line 52, in <module>
import weakref
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/weakref.py", line 14, in <module>
from _weakref import (
ImportError: cannot import name _remove_dead_weakref
我检查过所有文件和名称都在那里。
我不知道是什么导致了这个问题。
有什么想法吗?
lldb 使用的 Python 框架实际上是系统自带的,而不是 Xcode,但除此之外,Brad 在上面。
lldb 链接到 Python,它用于支持一系列可扩展性功能。即使 lldb 从系统安装中拉入 Python dylib - 因为这是它链接到的 - 其他 Pythons 的存在(通常是因为其他 python 二进制文件在你的路径上提前于 /usr/bin/python) 将导致 Python 从其他 Python 安装读取其库文件。总的来说,这似乎不太顺利。
在我们遇到的大多数情况下,确保 /usr/bin/python 在您的路径最前面即可解决问题。还要确保 PYTHONPATH 没有引用您端安装中的 python 文件。
要将系统 Python 用于 lldb 但继续将 Homebrew python 用于其他所有内容,请将此 shell 脚本另存为 ~/.local/bin/lldb
:
#!/bin/sh
unset PYTHONPATH
export PATH=/usr/bin:$PATH
exec lldb "$@"
然后chmod +x ~/.local/bin/lldb
使其可执行。确保 ~/.local/bin
在您的 PATH
中,并且在系统 lldb
所在的 /usr/bin
之前。