macOS下lldb遇到_remove_dead_weakref的Import_Error
今天使用lldb遇到了_weakref的Import_Error问题,找了很久才找到合适的解决方法,开此文分享一下。
$ lldb
(lldb) script
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/local/Cellar/python/2.7.15/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py", line 52, in <module>
import weakref
File "/usr/local/Cellar/python/2.7.15/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
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
看到错误提示中有个关键字段 /usr/local/Cellar/python/2.7.15
,我们知道macOS下 homebrew 安装软件到 /usr/local/Cellar
目录下,所以猜测是不是自己安装的 python2.7.15 的问题。
那尝试卸载已安装的 python2.7.15:
brew uninstall python@2
结果得到提醒:
Error: Refusing to uninstall /usr/local/Cellar/python@2/2.7.15_1
because it is required by mongodb, which is currently installed.
You can override this and force removal with:
brew uninstall --ignore-dependencies python@2
哎呀,得到提示有依赖问题,没事儿!先按照 brew uninstall --ignore-dependencies python@2
强制卸载看看是不是这个版本python与lldb不兼容,卸载后,运行lldb,果然没有错误了!
看来真的是版本不兼容的问题,但是我还必须安装 python2.7.15,因为 mongodb 依赖最新的这个版本的python,还必须安装这个版本python,怎么办?
求助google,找到方法,强制 lldb 按照系统的 bin 环境运行——PATH=/usr/bin /usr/bin/lldb
^[Странное смешивание системы + homebrew Python с LLDB],就不会出现问题了。
每次这样运行 lldb 太麻烦了,何不 alias 一下,在终端下执行:
# 如果您使用bash,执行:
# echo 'alias lldb="PATH=/usr/bin /usr/bin/lldb"' >> ~/.bashrc
# 如果您使用zsh,执行:
echo 'alias lldb="PATH=/usr/bin /usr/bin/lldb"' >> ~/.zshrc
开启一个新的终端,运行 lldb
没有异常,Done!
你这最后一个命令怕不是直接吧zshrc给覆盖没了。。。
@Anonymous , 确实如你所说,已经在文中更改,谢谢提醒!☕️
你这博客的附注上标不错哦😀
@litreily
是吧!知道吗,这些天使用hugo的感受就是轻快,这两个字足以体现hugo的特点,我觉得你可以了解一下,然后做一个hugo用的主题,我来用,啊哈哈😁,完美!
v1.5.2