MacOS Catalina下Nativescript找不到six包问题求助
解决MacOS Catalina下NativeScript提示Python 'six'包找不到的问题
嘿,我之前在Catalina上也碰到过这个一模一样的坑!折腾了好几个小时才搞定,给你几个针对性的解决方案,按顺序试试:
先搞清楚NativeScript在找哪个Python版本
Catalina系统默认移除了自带的Python2.7,而NativeScript有时候会优先找Python2的环境——如果你把six装到了Python3里,就会出现“已安装但找不到”的矛盾提示。
先执行这两个命令确认路径:
which python which python3
再对比ns doctor输出里提到的Python路径,看看是不是和你装six的Python版本路径一致。
方案一:给Python2.7重装six(最常见解决方法)
如果NativeScript依赖的是Python2,先通过brew安装Python2.7:
brew install python@2
然后强制重装six到Python2环境(重点!普通安装可能因为缓存或路径问题不生效):
pip2 install six --upgrade --force-reinstall
装完后重启终端,再跑ns doctor或者ns run ios试试。
方案二:让NativeScript使用Python3
如果你更倾向用Python3,先设置环境变量指定NativeScript用Python3:
export PYTHON=/usr/bin/python3
然后同样强制重装six到Python3:
pip3 install six --upgrade --force-reinstall
之后把这个环境变量加到你的shell配置文件里(比如~/.zshrc或~/.bash_profile),避免每次重启终端都要设置:
echo 'export PYTHON=/usr/bin/python3' >> ~/.zshrc
重启终端后再测试。
方案三:检查用户级Python包路径
如果你的six是装在用户目录(用了--user参数),需要确保用户的site-packages目录在PYTHONPATH里。比如Python3.8的话:
export PYTHONPATH="$HOME/Library/Python/3.8/lib/python/site-packages:$PYTHONPATH"
同样把这条命令加到shell配置文件里,然后重装six:
pip3 install six --user --upgrade --force-reinstall
最后排查权限问题
Catalina的安全机制可能限制了NativeScript访问Python包目录,你可以:
- 打开「系统偏好设置」→「安全性与隐私」→「隐私」→「完全磁盘访问」
- 把你用的终端(比如Terminal或iTerm)添加到列表里,然后重启终端再试。
内容的提问来源于stack exchange,提问作者Swissdude
相关产品推荐
相关产品推荐

