【问题标题】:Set python 3 as default python version in CentOS在 CentOS 中将 python 3 设置为默认 python 版本
【发布时间】:2020-02-10 15:30:18
【问题描述】:

我已经按照https://linuxize.com/post/how-to-install-python-3-on-centos-7/ 的指南在我的 CentOS 机器上安装了 python 3.6,它安装了带有以下内容的 python 3:

sudo yum install rh-python36

然而,默认的python版本仍然是python 2。指南提到我可以先运行scl enable rh-python36 bash来运行python 3,然后再使用python 3。但是,这仅适用于该会话 - 注销并重新登录将恢复到 python 2。根据How to set Python3.5.2 as default Python version on CentOS?,可以将 python 3 设置为默认值:

sudo ln -fs /usr/bin/python3 /usr/bin/python

但是,这对我不起作用,因为由于某种原因,我在 /usr/bin/ 中没有任何 python3 文件 - 我只有 pythonpython2python2.7python2.7-config、@987654331 @ 和 python-config (尽管上面安装了带有 yum 的 python 3)。

【问题讨论】:

  • 你可以使用which python3找到python3的完整路径,然后你可以使用ln -fs这个路径。但是 Linux 对系统中的许多元素使用 Python,并且将 python3 代替 python 会产生问题 - 系统可能会崩溃,因为 python3 中的某些函数的工作方式与 python2 中的不同。
  • 你可以把scl enable rh-python36 bash放到文件~/.bashrc中,每次登录都会运行。
  • @furas 我需要将 python 3 用于服务器自动运行的 cron 作业,在这种情况下将 scl enable rh-python36 bash 放入 ~/.bashrc 工作吗?
  • 不能在 cron 中使用 python3 script.py
  • 顺便说一句:Linux 在脚本的第一行使用“shebang”(#!)来告知系统程序使用什么程序来运行脚本。如果您在脚本中使用#!/usr/bin/env python3(并将其设置为可执行chmod +x script.py),那么它应该始终使用python3 来运行此脚本。

标签: python centos yum


【解决方案1】:

首先,运行

$ scl enable rh-python36 bash

切换python版本。

二、运行

$ which python

找出python3.6二进制文件的确切路径。

第三,编辑~/.bashrc。

$ vim ~/.bashrc

并添加以下行。

alias python='/opt....(the path you found by "which python")'

并保存文件。

【讨论】:

    猜你喜欢
    • 2018-01-14
    • 2017-11-27
    • 2019-07-18
    • 2017-06-18
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2018-12-24
    • 2013-08-27
    相关资源
    最近更新 更多