0

我的问题是当我尝试从命令行运行 python 脚本时,如下所示;

python_projects # python variable.py

它使用 Python 版本 3,我希望将其更改为 2.7

4

3 回答 3

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

读者消化:很多解决方案。

于 2013-02-27T21:01:27.110 回答
1

如果您以默认方式同时安装了 Python 2.7 和 Python 3.something,则应满足以下条件:

  • python3始终运行您最好的 3.x 版本
  • 任何一个:
    • python运行你最好的 2.x 版本,或者
    • python运行相同的东西python3,但python2运行你最好的 2.x 版本

python2所以,如果它存在,你总是可以使用,python如果不存在。

此外:

  • python2.7始终运行您最好的 2.7.x 版本。

所以,你可以使用它。

如果python2.7python2、 甚至python不在您的 PATH 中,或者您进行了某种奇怪的安装,违反了预期的规则(或者您的发行版为您完成),您始终可以通过完整路径指定 Python。而不是说,/usr/bin/env python或者/usr/local/bin/python你正在使用的任何东西,使用/opt/local/python2.7/bin/python,或者你安装它的任何地方。

于 2013-02-27T21:04:30.193 回答
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"
 }

那么您可以在 cmd 行上将它们称为py25orpy27py33。这也同时处理了 pip 和 iPython。

于 2013-02-27T21:21:55.777 回答