【问题标题】:python3 not recognizing the correct python 3 version installed (Centos 7)python3 无法识别安装的正确 python 3 版本(Centos 7)
【发布时间】:2020-04-11 10:04:41
【问题描述】:

我刚刚通过sudo yum install python3 命令在Centos 中安装了python 3.6.8,并且安装成功。但是,当我现在使用python3 --version 检查状态时,提供的版本是 3.6.5。

你知道为什么会这样吗?我可以做些什么来整理它,以便报告安装了什么,python 3.6.8?

[user@project]$ python3 --version
Python 3.6.5
[user@project]$ which python3
/usr/bin/python3
[user@project]$ /usr/bin/python3 --version
Python 3.6.8
[user@project]$ pyenv uninstall 3.6.5
pyenv: version `3.6.5' not installed

【问题讨论】:

  • Python 3.6.8 版安装到哪个目录?运行which python3 会得到什么?此问题可能是由于您的 $PATH 设置方式造成的。运行echo $PATH 并善意分享输出
  • 我不敢相信。我花了几个小时在上面,没有解释就离开了,然后关闭了计算机。现在我再试一次,它只是正确报告... python3 --version = 3.6.8。不知道之前会发生什么……你知道为什么会这样吗?我在下面的答案中评论说,python3 现在出现在太多地方,其中一个似乎是重复的。输出:pastebin.com/gMZZ97EJ 至于echo $PATH 命令:pastebin.com/EacJAqBr

标签: python python-3.x centos


【解决方案1】:

在某些情况下,shell 会弄乱散列。或者,您可能有覆盖 python3 的别名或 shell 函数。

我建议您键入以下命令,以查看您是否有散列问题或 shell 别名或覆盖 python3 的 shell 函数:

type -a python3
which -a python3
hash -r
type -a python3
which -a python3
pyenv which python3
pyenv versions

如果输出不是自我解释,则将上述命令的输出贴在这里

附录。当您在问题中输入 pyenv 时,我还添加了对 pyenv 的调用,尽管我认为这不是 pyenv 问题。

type -a python3 按优先级顺序显示当您键入 python3 时哪些命令可以被找到

shell 函数和别名优先于可以在路径中找到的命令。路径是从左到右搜索的。

我不清楚最后一个 python 出现两次的原因(也许您将此目录两次添加到搜索路径中?)

【讨论】:

  • 我不敢相信。我花了几个小时在上面,没有解释就离开了,然后关闭了计算机。现在我再试一次,它只会正确报告...python3 --version = 3.6.8。不知道之前会发生什么……你知道为什么会这样吗?至于你的命令,它报告了 4 个不同的条目(不知道为什么),甚至 2 个是重复的:S 输出:pastebin.com/gMZZ97EJ
  • 嗯,有时我在 shell 窗口中遇到了类似的问题,然后用 hash -r 重新散列搜索路径就可以了
  • 这是 type -a 的优点,它显示了首先找到的 python3,但随后显示了其他的,被他们的前辈掩盖了
猜你喜欢
  • 2016-05-02
  • 2022-01-04
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 2022-11-10
相关资源
最近更新 更多