Python2版本在版本检查中设置为Python3

时间:2018-03-05 20:05:20

标签: python python-3.x python-2.7 homebrew

所以我试图按照本教程在MacOS上安装OpenCV:https://www.pyimagesearch.com/2016/12/19/install-opencv-3-on-macos-with-homebrew-the-easy-way/

在第3步中,python的版本应该使用python --version进行python 2.x并使用python3 --version进行python 3.y检查。但是,对于这两个命令,我得到Python 3.6.4。我怎样才能解决这个问题?我尝试使用brew install python@2再次安装python 2,输出为python@2 2.7.14_1 is already installedwhich python显示/usr/local/bin/pythonwhich python3显示/usr/local/bin/python3

1 个答案:

答案 0 :(得分:1)

如果您使用Homebrew安装了Python 2和Python 3,那么Python 2二进制文件名为python2,但除非您将/usr/local与{brew link一起使用,否则不会链接到--force 1}}标志。

请参阅brew info python@2

$ brew info python@2 | grep Caveats -A 4
==> Caveats
This formula installs a python2 executable to /usr/local/opt/python@2/bin
If you wish to have this formula's python executable in your PATH then add
the following to ~/.bash_profile:
  export PATH="/usr/local/opt/python@2/libexec/bin:$PATH"

$ brew info python@2 | grep 'not symlinked' -A 2
This formula is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

你可以运行

/usr/local/opt/python\@2/bin/python2

如果您需要直接运行它,或者您可以强制自制程序以任何方式链接它:

brew link --force python@2

此时将添加/usr/local/bin/python2

教程已经过时了;自制程序如何处理Python已经改变。只需在使用python2的任何地方使用python

进一步解决教程:

  • brew linkapps已弃用
  • 不推荐使用homebrew/science点按,已迁移该点击中的公式,无需额外点击即可安装opencv3
  • 当前版本的opencv3本身支持Python 2和3,不需要配置开关
  • 公式直接依赖于Python 2和3公式,安装opencv3将自动安装Python。

所以只需运行brew install opencv3,按照命令打印的任何其他说明(可能是无)。

确保更新Homebrew,因为缺少某些依赖项(请参阅my bug report with Homebrew)。如果您不这样做,则必须运行brew install hdf5 tesseract来安装应该是可选的依赖项。

该教程现在几乎完全过时了。