Mac升级Python版本后Xcode的一些问题

2017-10-23  本文已影响0人  leyal
前言:随着AI和大数据越来越火,我也想学习了解一下Python这门语言,于是我就开始了我的折腾之路。不过令人难受的是,我这次折腾了12个小时(ps:大三程序狗一枚),还好自己心态没炸,总告诉自己这是最后一次测试了。开始写这篇文章已经是凌晨2.20了,但是我一直没有解决Xcode的问题,觉得自己就算上床睡觉了也会睡不着。也不知道是用mac写Python的人少还是怎么的,觉得网上升级MacPython的方法“乱七八糟”(我也只是个只会网上找方法的“屌丝”),最主要的是有很多坑,我就踩了一个大坑。好了,就不废话了,直接写正文。

-----------------------------------可爱的分割线----------------------------

(禁忌)切记! Mac系统自带的Python2.7坚决不能删除!因为Xcode里面用到了Python2.7,一旦删除,Xcode会打不开,很多系统用到Python2.7的地方也会出问题。

解决办法中踩的坑:

在简书上看的一篇关于Mac 升级Python方法的文章,作者后来也认识到他的方法有问题(就是删除了系统自带的Python2.7),删除Python2.7之后Xcode打不开。作者给的建议是去别人的电脑上拷贝一份在 /System/Library/Frameworks/Python.framework/Version
目录中的“2.7”文件和“current”文件 ,然后放在自己电脑同样的目录里面。但是这样做之后,Xcode是可以打开了,但是又有一个问题,就是Xcode运行App的时候,Xcode会提示could not launch "XXX" 。之后App是安装在模拟器或者是真机上了,但是就一直卡在启动屏幕,之后自己关掉App进程然后重新手动进入App才能运行,为这个搞了差不多10个小时(心疼我这样的小白)。

真正的解决办法:
(一).关闭Rootless机制

  1. 重启电脑
  2. 按住Command+R直到出现苹果logo并读条,进入恢复模式
  3. 打开恢复模式的终端:(屏幕左上角菜单栏里)
    输入命令:csrutil disable

//开启Rootless机制的方法差不多,将输入命令改为:csrutil enable

sudo rm -R /System/Library/Frameworks/Python.framework/Versions/3.6

*安装Python2.7
brew install python

*把下载的Python2.7移到framework里
sudo mv /Library/Frameworks/Python.framework/Versions/2.7.14

/System/Library/Frameworks/Python.framework/Versions

sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/2.7.14

sudo rm /System/Library/Frameworks/Python.framework/Versions/Current

*创建link

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7.14

/System/Library/Frameworks/Python.framework/Versions/Current

sudo rm /usr/bin/pydoc
sudo rm /usr/bin/python
sudo rm /usr/bin/pythonw
sudo rm /usr/bin/python-config

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7.14/bin/pydoc2.7.14 /usr/bin/pydoc
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7.14/bin/python2.7.14 /usr/bin/python
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7.14/bin/pythonw2.7.14 /usr/bin/pythonw
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7.14/bin/python2.7.14m-config /usr/bin/python-config

*编辑.bash_profile文件
vim .bash_profile

*删除其中的内容然后添加(按下i键进行编辑)

Setting PATH for Python 2.7

The orginal version is saved in .bash_profile.pysave

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

*按下esc输入:wq 回车 结束编辑

*最后:
source ./.bash_profile

*输入
python --version
查询一下Python版本这个时候就换回了系统原本的Python版本
Xcode可以打开了,模拟器也没有bug了

最后的最后:要正确升级Python多在网上找找资源,特别是简书上。不要像我一样盲目的开始升级,然后心疼我的Xcode(😭)。小白一枚,大神轻喷。如有错误,请在评论指出,才开始写东西,排版这些就不重要了,重要的是我花了10个小时得到的血的教训。明天再好好升级Python版本= = 。对于其他小白,我希望你们不要随便去改系统的东西,最后真的很麻烦,同时我也希望在Mac这边的Python资源越来越多。

上一篇 下一篇

猜你喜欢

热点阅读