关于unix:如何选择从终端运行哪个版本的python?

How to choose which version of python runs from terminal?

我的电脑上有几种不同版本的python。当我在提示中键入"python"时,如何选择从终端运行哪个?


使用which查看python命令的位置。然后用ls -l找出它的真正位置。然后链接你想要的那个。请注意,其他已安装的版本通常都以各自的名称提供。

1
2
3
4
5
6
7
8
$ which python
/usr/bin/python
$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Jun 18  2013 /usr/bin/python -> python2.7
$ ls /usr/bin/python*
/usr/bin/python   /usr/bin/python2.7         /usr/bin/python2-config
/usr/bin/python2  /usr/bin/python2.7-config  /usr/bin/python-config
$ sudo ln -sf /usr/bin/python2 /usr/bin/python

请注意,这将更改计算机上所有用户可能使用的所有程序的python版本!如果你只想为自己改变它。您可以通过在Linux中的~/.bashrc或Mac中的~/.bash_profile中添加一个alias python='/usr/bin/python2'行(其中python2替换为您想要的版本)来对其进行别名。(在这种情况下,您需要重新启动终端会话。)


对于每个Python版本,都应该有多个可执行文件。例如,如果我键入python并点击tab,我会看到:

1
2
3
4
5
$ python
python             python2.5-config   python2.7-config   python3.3          python3.3m-config  pythonw2.7         pythonw3.3-32      
python-config      python2.6          python3            python3.3-32       pythonw            pythonw3          
python2            python2.6-config   python3-32         python3.3-config   pythonw2.5         pythonw3-32        
python2.5          python2.7          python3-config     python3.3m         pythonw2.6         pythonw3.3

例如,如果我想要python 2.5版本—我运行python2.5

另外,看看虚拟环境——使用它可以更容易地管理和在多个Python环境之间切换。

还可以看到:

  • 全面的初学者虚拟环境教程?
  • 在virtualenv中使用不同的python版本


PY-3或PY-2等可在版本之间进行选择。请参见https://docs.python.org/3/installing/使用并行安装的多个版本的python


要选择在终端中键入"python"时运行的是哪个版本的python,您可能需要尝试使用别名。

例如:

1
alias python='python2.7'

将使python2.7在终端中键入"python"时执行。


尝试envirius(通用虚拟环境管理器),它允许编译任何版本的python。此外,它允许使用混合语言创建环境。