我用的是哪个python?

时间:2017-08-17 20:13:51

标签: python version homebrew

无法确保我实际使用最新版本的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`

3 个答案:

答案 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版本是正确的。

Homebrew brew doctor warning about /Library/Frameworks/Python.framework, even with brew's Python installed

谢谢大家的帮助。