在命令行中使用Python2.7(Linux)

0 投票
3 回答
520 浏览
提问于 2025-04-17 17:21

我的问题是,当我尝试从命令行运行一个Python脚本时,命令是这样的:

python_projects # python variable.py

这个脚本使用的是Python 3版本,我想把它改成2.7版本。

3 个回答

1

假设你在使用Linux系统,你可以在你的.zshrc或.bashrc文件里添加一些内容,这样就能在不同的Python版本之间切换了。

py25() {
    rm -rf ~/.ipython
    alias ipython="/usr/local/bin/ipython-2.5"
    alias pip="/usr/local/bin/pip-2.5"
    alias python="/usr/local/bin/python-2.5"
 }

py27() {
    rm -rf ~/.ipython
    alias ipython="/usr/local/bin/ipython-2.7"
    alias pip="/usr/local/bin/pip-2.7"
    alias python="/usr/local/bin/python-2.7"
 }
py33() {
    rm -rf ~/.ipython
    alias ipython="/usr/local/bin/ipython-3.3"
    alias pip="/usr/local/bin/pip-3.3"
    alias python="/usr/local/bin/python-3.3"
 }

然后你只需要在命令行里输入py25py27或者py33就可以了。这也会同时处理pip和iPython的版本。

1

如果你同时安装了Python 2.7和Python 3.x版本,通常会有以下情况:

  • python3总是会运行你安装的最新的3.x版本
  • python会运行你安装的最新的2.x版本,或者
  • python运行的和python3是一样的,但python2会运行你安装的最新的2.x版本

所以,如果python2存在的话,你总是可以使用它,如果没有的话,就用python

另外:

  • python2.7总是会运行你安装的最新的2.7.x版本。

所以,你可以直接使用这个。

如果python2.7python2,甚至python都不在你的系统路径中,或者你做了一些奇怪的安装,导致这些规则不适用(或者你的系统发行版为你做了这些),你总是可以通过完整路径来指定Python。比如,不用/usr/bin/env python/usr/local/bin/python,而是用/opt/local/python2.7/bin/python,或者你安装的其他路径。

3

你试过使用 shebang 行吗?

比如说:

#!/path/to/2.7/python

你也可以直接调用 2.7 版本的解释器,没有什么阻止你这样做:

./path/to/2.7/python python_projects

你还可以创建一个 bash 别名:

alias py27=/path/to/2.7/python

瞧,这样就可以了

py27 python_projects

总结一下:有很多解决方案。

撰写回答