Mac上升级Python到3.X(本案例使用3.6版本)后,Xcode打包失败
报错内容:
Traceback (most recent call last):
File "/Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool", line 7, in <module>
经过一顿查询资料,发现xcode对Python的版本有依赖,仅支持2.7的。
归纳下解决办法:
- 将系统Python索引改回2.7版本的。
- 修改Python别名,使得终端上默认使用的Python为3.6版本
将系统Python索引改回2.7版本的
(其实和安装步骤类似)
改变Python安装目录的用户组
查看Python 2.7的用户组位wheel
,执行以下命令:
sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/2.7
修改Python当前安装目录的一些快捷方式
在 /System/Library/Frameworks/Python.framework/Versions/
目录下有一个Current
,这是一个目录符号链接,指向当前的Python版本。原来指向安装的最新的。所以应先删除Current
,然后重新建立Current
符号链接,命令如下:
删除连接:
sudo rm /System/Library/Frameworks/Python.framework/Versions/Current
建立连接:
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7 /System/Library/Frameworks/Python.framework/Versions/Current
删除旧的命令符号链接
在/usr/bin
目录下有4个python命令的符号链接,使用下面的命令先删除,如果没有的话可以不用管
sudo rm /usr/bin/pydoc
sudo rm /usr/bin/python
sudo rm /usr/bin/pythonw
sudo rm /usr/bin/python-config
重新建立新的命令符号链接
将上一步删除的符号链接重新使用下面命令建立,如果没有可以不管,它们都指向Python2.7。
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc2.7 /usr/bin/pydoc
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /usr/bin/python
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7 /usr/bin/pythonw
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7m-config /usr/bin/python-config
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pip2.7 /usr/bin/pip
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install-2.7 /usr/bin/easy_install
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pyvenv-2.7
修改Python别名
在终端输入以下命令
vim ~/.bash_profile
在最下方添加
alias python="/System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6"
重启终端输入python 验证版本:
over