【问题标题】:Code still runs using old version of Python代码仍然使用旧版本的 Python 运行
【发布时间】:2012-02-20 15:30:12
【问题描述】:

我已经在我的 CentOS 服务器上安装了 python 2.7。 当我进入 python 命令行时,它告诉我我使用的是 2.7。 当我发出 python -v 命令时,它会报告 2.7。 但是当我运行我正在处理的脚本并让它输出正在使用的版本(使用 import sys print(sys.version))时,它会报告旧版本(2.4)。

谁能帮我让它针对新版本运行代码。 谢谢。

【问题讨论】:

  • 如何执行脚本?它是否在开头有一条 shebang 行告诉它使用特定的 python?
  • 脚本的第一行是什么意思? shebang (#!) 行?这将告诉脚本要运行哪个版本的解释器。
  • 如何运行它,这与从命令行运行 python 有何不同?也许在bash 提示符下使用which python 来确定您从哪里获取命令行python。
  • 谢谢,我改了#!它有效。
  • @Columbo 你应该写一个新问题来解决这个完全独立的问题。但长话短说,如果你正在使用多个版本的 python,你应该看看 virtualenv:pypi.python.org/pypi/virtualenv

标签: python version


【解决方案1】:

检查脚本的第一行。

shebang 行(脚本中的第一个)将向您的 shell 解释它应该使用哪个解释器来执行文件的内容。

当我为自己编写脚本时,我通常使用:

#!/usr/bin/env python

在我的环境设置中使用哪个 python 解释器。由于我使用virtualenv,这是我默认安装的本地自定义版本的python,但可以根据上下文轻松切换。

【讨论】:

    猜你喜欢
    • 2017-01-28
    • 2013-07-13
    • 2013-03-04
    • 2016-03-14
    • 1970-01-01
    • 2014-04-19
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多