【问题标题】:Python versions mixed up. Requesting a specific version starts an unexpected versionPython 版本混在一起。请求特定版本会启动意外版本
【发布时间】:2023-03-15 01:29:01
【问题描述】:

我的 Centos 服务器上有 Python 2.4 和 2.7。 当我执行 python 时,我得到了 2.7 版本。 当我执行 python2.4 时,我启动了 2.4 版。 以上是我想要的,但是当我执行 python2.7 时,我启动了 python2.4。 我想解决这个问题,但不知道如何解决。 我期待看到从 2.7 到 2.4 的链接,但我只能找到如下:

在 /usr/bin 目录我有:

python  
python2 -> python
python2.4

在 /usr/local/bin 我有:

python
python2.7
python2.7-config
python-config -> python2.7-config

我查看了 python2.7-config,但看不到任何可能将 python2.7 bin 链接到 python2.4 的内容。 谁能建议我如何纠正这个问题。我不想开始卸载 python 版本,因为我知道(从痛苦的经验中)这会弄乱操作系统。 谢谢

--编辑--

/usr/bin/python --- 2.4
/usr/bin/python2 --- 2.4
/usr/bin/python2.4 --- 2.4
/usr/local/bin/python --- 2.7
/usr/local/bin/python2.7 --- 2.4

【问题讨论】:

  • which python2.7 显示什么?

标签: python centos


【解决方案1】:
  1. 尝试同时从 /usr/bin/ 和 /usr/local/bin/ 中删除 python 就像从 /usr/bin/ 中删除 python2 一样。

  2. 然后尝试运行which python2.7 看看,python2.7 是从哪里来的。

  3. 最后,在 /usr/bin/ 中为所需的 python 版本创建一个 python 和一个 python2 符号链接。请注意,CentOS 可能依赖 python -> python2.4python2 -> python2.4 链接。

【讨论】:

  • 我已经编辑了这篇文章,以展示各种 python 文件的版本。一切都变得有些混乱。我已删除(实际上已移动)完全误导的 python2.7。我没有删除任何其他蟒蛇,因为我不想搞砸任何事情。摆脱伪造的 2.7 python 将防止将来出现混乱。
【解决方案2】:

我不确定我是否完全理解你。 尝试在脚本中添加一个 shebang,说明要使用的 python 版本:

#!/usr/bin/env python2.7

您还可以通过打印脚本正在使用的 python 版本从脚本中进行调试:

>>> import sys
>>> sys.version

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 2020-11-17
    • 1970-01-01
    • 2018-06-27
    • 2020-06-09
    相关资源
    最近更新 更多