无法确保我实际使用最新版本的Python,即使它们已经通过自制软件安装。
$ brew upgrade python3
Error: python3 3.6.2 already installed
但:
$ python3 --version
Python 3.6.0
同样适用于python2:
$ brew upgrade python
Error: python2 2.7.13_1 already installed
$ python --version
Python 2.7.10`
答案 0 :(得分:1)
您是否为每个设置了单独的环境变量?
我过去发现有多个版本的python 2,例如没有所有环境变量,可能会让人感到困惑!
你可能会发现在输入python3时,windows只看python 3.0,除非你在python 3.6.2目录中。
答案 1 :(得分:1)
❯ echo `which python`
如果这不打印' / usr / local / bin / python' (其中brew实际上安装了二进制文件),然后你的$ PATH出现了问题(可能' / usr / local / bin'不存在或者在'之后插入它/ usr / bin',所以改为运行系统默认的python。
++似乎brew默认将其python2.7命名为 python2 ,而不是 python ,因此您可能还需要创建一个python2-> / usr / local / bin目录中的python链接。
答案 2 :(得分:1)
首先我修改了$ PATH:sudo nano /etc/paths
,以便不调用/Library/Frameworks/Python.framework/Versions/3.6/bin
。我确保我的路径顺序正确,以便python首先查找/usr/local/bin/python3
和/usr/local/bin/python2
以强制解决问题。
但是,$ python3 --version
仍然返回
Python 3.6.0
,虽然brew说python3 3.6.2 already installed
。
brew doctor
救援:自制软件推荐了几件事。 python错误地符号链接,所以我运行了brew --overwrite python3
。最后,它诊断出来自/Library/Frameworks/Python.framework/Versions/3.6/bin
的python,所以我sudo rm -rf /Library/Frameworks/Python.framework
。现在python版本是正确的。
谢谢大家的帮助。