我正在使用一台没有管理员权限的服务器。安装了多个版本的 Python。假设一个在,/some/home/directory/Python2.6/
另一个在/some/home/directory/Python2.7/
。
有没有一种简单的方法可以暂时更改终端中的 python 版本,而无需更改 python 的默认版本,并且不需要 root 访问权限(到目前为止我发现的所有答案都符合/需要其中一个条件)?
答案1
要更改终端会话的 python 版本,您可以在 .bashrc 文件中创建一个别名,然后重新登录。
alias python='/usr/bin/python3.4'
以下文章的链接提供了更改为替代 Python 版本每个用户会话。
答案2
我的建议是使用别名来“覆盖”python 命令。
可以创建与命令核心名称同名的别名(即没有任何选项或参数的命令)。在这种情况下,当使用该名称时,首先调用(即激活)的是别名,而不是同名的命令。例如,可以为命令 ls -al 创建名为 ls 的别名,如下所示:
alias ls="ls -al"
ls 是一个常用命令,默认情况下会列出当前目录(即用户当前工作的目录)内的文件和目录的名称。-a 选项指示 ls 还显示任何隐藏的文件和目录,-l 选项指示它提供有关每个文件和子目录的详细信息。
可以暂时禁用此类别名,并通过在其前面直接(即中间没有空格)添加反斜杠来调用核心命令,即
\ls
取自林信息网
答案3
在您的程序中,如果您#!/usr/bin/python2.6
在第一行提到它,那么您的程序将把 python 2.6 视为其运行时环境。同样,如果您提到 python2.7,它将从 python2.7 开始考虑。
如果您想从终端访问 python,那么您可以在终端输入 python2.7 然后您就可以进入它了。
答案4
作为评论对于这个问题,虚拟环境管理你所有的python-只需使用它
# install pip and venv as user
python3 -m pip install --user --upgrade pip
python3 -m pip install --user virtualenv
#create the virtual env files and folders in the current dir
python3 -m venv env
# activate the virtual env by sourcing the bin file
source env/bin/activate
#confirm it
which python