Fix Qt launching debugger not work

记一次手贱导致 Qt debugger 无法工作的经历
事情是这样的, 因为电脑磁盘空间不够了, 于是我像往常一样打开 DaisyDisk 查看有哪些文件比较占空间, 于是乎故事就开始了.
我看到了 /Library/Python/2.7/site-packages 这个目录发现这是系统的 python 包路径, 因为我用的是 brew 安装的最新版 python , 就想当然的认为这个是没有用的了, 于是乎就删之, 删除之后我并没有发现有什么异样, 因为并不是需要经常用 Qt debugger 的, 于是乎某一天开启debug, 发现gg了, 起初还以为是系统更新的问题, 然后把 Qt, Xcode 都更新了一遍, 发现还是不行, google 到的信息, 也没能解决我的问题, 一直蛋疼了很久, 突然想起可以去看下 debug log, 或许能知道是什么原因, 打开 log 一看果然有问题, 知道问题了自然就好解决了, 下面就来说说我怎么解决的吧.

错误log

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

eERROR: Lldb stderr: Traceback (most recent call last):
e File "<string>", line 1, in <module>
eERROR: Lldb stderr: File "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python/lldb/__init__.py", line 98, in <module>
e import six
eImportError: No module named six
eTraceback (most recent call last):
e File "<string>", line 1, in <module>
eNameError: name 'run_one_line' is not defined
eTraceback (most recent call last):
e File "<string>", line 1, in <module>
eNameError: name 'run_one_line' is not defined
eTraceback (most recent call last):
e File "<string>", line 1, in <module>
eNameError: name 'run_one_line' is not defined
eTraceback (most recent call last):
e File "<string>", line 1, in <module>
eNameError: name 'run_one_line' is not defined
eTraceback (most recent call last):
e File "<string>", line 1, in <module>
eNameError: name 'run_one_line' is not defined
eTraceback (most recent call last):
e File "<string>", line 1, in <module>
eNameError: name 'run_one_line' is not defined
eerror: python failed attempting to evaluate 'print('@\nlldbstartupok@\n')'

google 到的解决方案是需要安装pip install six这个包

安装过程

卸载 brew 安装的 python

如果不卸载, 无法使用系统 python, LLDB调用的是系统的 python 而不是自己安装的
需要注意的是, 卸载完后需要重启一下控制台

1
brew uninstall --ignore-dependencies python

安装 pip

1
2
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

安装 six 包

1
sudo pip install six

ok, 打完收工, 完美如初

总结

不要手贱, 不要手贱, 不要手贱…