是因为python
安装的路径是/Library/Frameworks/Python.framework
,而系统路径是System/Library/Frameworks/Python.framework
所以我们还要移动一下。
OSX 10.11引入了更为严格的安全机制,我们所提到的System/Library/Frameworks/Python.framework权限实际上比root还要高。。传说中的rootless,说实话比较坑。。不过我们还是有办法解决它:
1. 重启电脑
2. 按住Command+R直到出现苹果logo并读条,进入恢复模式
3. 打开恢复模式的终端输入命令:
$ csrutil disable
如果还是没有权限,就在前面加上sudo
#!/bin/bash
#python版号需要修改两个地方
#1. new_version
# sudo -i
#得到超级权限
new_version="3,5"
PYPATH=/System/Library/Frameworks/Python.framework/Versions/"$new_version"
#第1步移动新版python到mac默认目录下
echo "move.."
mv /Library/Frameworks/Python.framework/Versions/"$new_version" /System/Library/Frameworks/Python.framework/Versions/
#第2步改变用户目录的用户组
echo "chown.."
chown -R root:wheel ${PYPATH}
#第3步 删除原来2.7的链接
echo "del.."
rm /System/Library/Frameworks/Python.framework/Versions/Current
#第4步重新链接到最新版本的python
echo "ln.."
ln -s ${PYPATH} /System/Library/Frameworks/Python.framework/Versions/Current
#第5步删除旧的命令符号链接
echo "rm.."
rm /usr/bin/{pydoc,python,pythonw,python-config}
echo "ln bin.."
#第6步重新建立新的命令符号链接
ln -s ${PYPATH}/bin/pydoc"$new_version" /usr/bin/pydoc
ln -s ${PYPATH}/bin/python"$new_version" /usr/bin/python
ln -s ${PYPATH}/bin/pythonw"$new_version" /usr/bin/pythonw
ln -s ${PYPATH}/bin/python"$new_version"m-config /usr/bin/python-config
python_param_list=`cd /usr/local/bin && ls -al |grep "Python"|awk 'ORS=" " {print $9}'`
#第7步修复其他链接
for i in $python_param_list;do
echo "info: $i"
rm -f /usr/local/bin/${i}
ln -sv /System/Library/Frameworks/Python.framework/Versions/"$new_version"/bin/${i} /usr/local/bin/${i}
#第8步.环境变量要修改为最新的版本号
echo 'export PATH=/System/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}' >> ~/.bashrc
exit #退出超级权限
#!/bin/bash
#python版号需要修改两个地方
#1. new_version
# sudo -i
#得到超级权限
new_version="2.7"
PYPATH=/System/Library/Frameworks/Python.framework/Versions/"$new_version"
#第1步移动新版python到mac默认目录下
#第2步改变用户目录的用户组
echo "chown.."
chown -R root:wheel ${PYPATH}
#第3步 删除原来2.7的链接
echo "del.."
rm /System/Library/Frameworks/Python.framework/Versions/Current
#第4步重新链接到最新版本的python
echo "ln.."
ln -s ${PYPATH} /System/Library/Frameworks/Python.framework/Versions/Current
#第5步删除旧的命令符号链接
echo "rm.."
rm /usr/bin/{pydoc,python,pythonw,python-config}
echo "ln bin.."
#第6步重新建立新的命令符号链接
ln -s ${PYPATH}/bin/pydoc"$new_version" /usr/bin/pydoc
ln -s ${PYPATH}/bin/python"$new_version" /usr/bin/python
ln -s ${PYPATH}/bin/pythonw"$new_version" /usr/bin/pythonw
ln -s ${PYPATH}/bin/python"$new_version"m-config /usr/bin/python-config
python_param_list=`cd /usr/local/bin && ls -al |grep "Python"|awk 'ORS=" " {print $9}'`
#第7步修复其他链接
for i in $python_param_list;do
echo "info: $i"
rm -f /usr/local/bin/${i}
ln -sv /System/Library/Frameworks/Python.framework/Versions/"$new_version"/bin/${i} /usr/local/bin/${i}
#第8步.环境变量要修改为最新的版本号
echo 'export PATH=/System/Library/Frameworks/Python.framework/Versions/$new_version/bin:${PATH}' >> ~/.bashrc
exit #退出超级权限
最新 python 下载地址安装后 运行 python --version 还是没变是因为python安装的路径是/Library/Frameworks/Python.framework,而系统路径是System/Library/Frameworks/Python.framework所以我们还要移动一下。OSX 10.11引入了更为严格的安全机制,我们所提到的System/Library/Fra...
安装walle的时候
python
总是报错,分析是
python
版本问题,想把系统
python
换成
python
3,删除/usr/bin/
python
的软链接后,把
python
3给链接上了,还是不行,脑子一抽执行了rpm -qa|grep
python
2|xargs rpm -ev --allmatches --nodeps和rpm -qa|grep
python
-2|xargs rpm -ev --allmatches --nodeps,悲剧的发现yum不能用了……
cat /etc/redhat-releas
/usr/local/bin/
python
3
Unversioned symlinks `
python
`, `
python
-config`, `pip` etc. pointing to
`
python
3`, `
python
3-config`, `pip3` etc., respectively, have been installed into
/usr/loca
相信很多使用
mac
的朋友都遇到过这样的问题,
mac
自带的
python
版本过于老旧,无法使用pip命令安装其他的包,而又苦恼于不知道如何替换掉
mac
自带的
python
,尝试了各种各样的办法终于解决了,现在把方法整理一下给大家,可以彻底替换掉
mac
自带的
python
,话不多说下面进入正题。
第一步:下载安装xcode
xcode-select --instal
下载完后,按照步骤安装即可。
第二步:百度搜索Homebrew官网获取安装指令
点击红框标注的homepage
open ~/.bash_profile
然后修改你的
Python
路径,我自己安装的
Python
是3.7
(路径是: /Library/Frameworks/
Python
.framework/Versions/ )
(另外,系统自带的P...
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 使用 Homebrew 安装
Python
3:
brew install
python
3
3. 安装 pyenv:在终端输入以下命令安装 pyenv:
brew install pyenv
4. 查看可安装的
Python
版本:
pyenv install --list
5. 安装所需的
Python
版本:在终端输入以下命令安装
Python
2.7.18:
pyenv install 2.7.18
6. 设置
Python
版本:
pyenv global 2.7.18
pyenv local 2.7.18
第一个命令会将系统的全局
Python
版本设置为 2.7.18,而第二个命令将当前目录下的
Python
版本设置为 2.7.18。
7. 确认
Python
版本已更新:
python
--version
应该输出
Python
2.7.18 版本号。
注意:
升级
Python
版本可能会影响其他依赖于
Python
的软件包,因此在
升级
前请先备份重要数据。