【问题标题】:Python2 version set to Python3 in version checkPython2 版本在版本检查中设置为 Python3
【发布时间】:2018-03-05 20:05:20
【问题描述】:

所以我试图按照本教程在 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

【问题讨论】:

  • 您似乎没有安装 Python 2。在您的情况下,pythonpython3 似乎都运行相同的 Python 安装。
  • 如果python -m sitepython3 -m site 产生相同的输出,您可以绝对确定它们是相同的。
  • 换句话说,python 调用 Python 2 二进制文件不是给定的。这只是一个约定,取决于 Python 在您的操作系统上的安装方式。
  • 请检查编辑。 Python2 好像已经安装好了。
  • 但这并不意味着它在你的道路上。 which python 会告诉你正在执行什么。

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


【解决方案1】:

如果您使用 Homebrew 安装了 Python 2 和 Python 3,则 Python 2 二进制文件名为 python2,但不会链接到 /usr/local,除非您使用带有 --force 标志的 brew link

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 的方式发生了变化。只要在使用python 的地方使用python2

进一步讲解本教程:

  • 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 来安装本来应该是可选的依赖项。

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

【讨论】:

  • @Rodrigues:除非您更具体,否则我无法帮助您。 /usr/local/bin/python2 -V 产生了什么?
  • 返回-bash: /usr/local/bin/python2: No such file or directory
  • @Rodrigues:啊,我需要升级到最新的小桶。 python2 不再安装到默认位置。我已经更新了我的答案。
  • @Rodrigues 你必须在任何需要 Python 2 的地方使用 python2。本教程没有考虑这种可能性,但只需使用 python2 并继续。
  • @Rodrigues:我只是更仔细地查看了教程。它已经过时了,你只需要brew install opencv3就可以了。
猜你喜欢
  • 2021-07-04
  • 1970-01-01
  • 1970-01-01
  • 2017-06-18
  • 2022-08-14
  • 1970-01-01
  • 2020-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多