OSX环境下执行swift命令提示No module named six错误求助
解决OSX下Swift命令启动时的ImportError问题
我之前也碰到过一模一样的问题,本质是Xcode的LLDB框架依赖的Python环境找不到six模块导致的。结合你用的是Anaconda Python 3.6.4的情况,给你几个可行的解决办法:
方法1:给LLDB默认使用的系统Python安装six
OSX系统自带的Python(通常是2.7版本)是LLDB默认调用的环境,这个环境里默认没有装six。你可以直接给它装上:
/usr/bin/python -m pip install six
如果碰到权限报错,加上sudo再运行:
sudo /usr/bin/python -m pip install six
方法2:让LLDB改用你的Anaconda Python环境
如果你更希望LLDB使用你现有的Anaconda环境,需要修改LLDB的配置:
- 先找到你的Anaconda Python的路径,在终端输入:
which python
会得到类似/Users/zhangyongxu/anaconda3/bin/python的路径,记下来。
2. 创建或编辑~/.lldbinit文件(这个是LLDB的全局配置文件),添加一行:
settings set target.python-path /Users/zhangyongxu/anaconda3/bin/python
把路径替换成你刚才查到的Anaconda Python路径。
3. 确保你的Anaconda环境里已经安装了six,如果还没装,运行:
conda install six # 或者用pip也可以 pip install six
方法3:临时指定Python环境运行Swift
如果不想修改全局配置,每次启动Swift前可以临时指定Python的包路径:
PYTHONPATH=/Users/zhangyongxu/anaconda3/lib/python3.6/site-packages swift
这里的路径要替换成你Anaconda环境下site-packages的实际路径,确保里面已经有six模块。
试完上面任意一种方法后,再输入swift命令应该就能正常启动了。
内容的提问来源于stack exchange,提问作者zyxnine9
相关产品推荐
相关产品推荐

