关于版本:我使用的是哪个python?

Which python am I using?

虽然已经通过自制软件安装了Python,但我确实无法确保使用最新版本的Python。

1
2
$ brew upgrade python3
Error: python3 3.6.2 already installed

但:

1
2
$ python3 --version
Python 3.6.0

python2也是如此:

1
2
3
4
5
$ brew upgrade python
Error: python2 2.7.13_1 already installed

$ python --version
Python 2.7.10`


首先,我修改了$ 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版本是正确的。

关于/Library/Frameworks/Python.framework的Homebrew brew医生警告,即使安装了brew的Python

感谢大家的帮助。


1
? echo `which python`

如果这不打印'/ usr / local / bin / python'(其中brew实际安装了二进制文件),那么你的$ PATH就有问题(可能'/ usr / local / bin'不在那里或者在'之后插入' / usr / bin',所以系统默认运行python)。

++似乎brew默认将其python2.7命名为python2,而不是python,因此您可能还需要在/ usr / local / bin目录中创建python2-> python链接。


您是否为每个变量设置了单独的环境变量?

我在过去发现,例如,有多个版本的python 2,没有所有环境变量,可能会让人很困惑!

您可能会发现在键入python3时,windows只查看python 3.0,除非您在python 3.6.2目录中。