使用多个版本的 Python

Posted

技术标签:

【中文标题】使用多个版本的 Python【英文标题】:Using multiple versions of Python 【发布时间】:2013-12-31 13:45:45 【问题描述】:

我的计算机上同时安装了 Python 3.3 和 Python 2.7。 python 3.3 工作正常,但是当我尝试使用 python 2.7 运行某些东西时,它仍然引用 python 3.3。

例如:如果我输入 F:\Python33\python33.exe test1.py,它将运行 3.3 并且工作正常,但如果我输入 F:\Python27\python27.exe test1.py 它会给出这个错误:

File "F:\PYTHON33\LIB\site.py", line 173
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

注意:我已将 Python 2.7 和 3.3 .exe 分别重命名为 python27.exe 和 python33.exe。

任何帮助将不胜感激,谢谢。

【问题讨论】:

您是否将PYTHONPATH 设置为环境变量? 我的 PYTHONPATH 是 F:\PYTHON27;F:\PYTHON27\DLLs;F:\PYTHON27\LIB;F:\PYTH 只有一个题外话。最好使用linux进行python开发,更容易更好。更容易拥有多个python版本和环境,更简单更好的终端,更容易编译c扩展,开源免费…… 【参考方案1】:

Google 搜索结果返回了一些有用的资源来回答您的问题。

Python 文档

Python 文档 (http://docs.python.org/3.3/using/windows.html#python-launcher-for-windows) 提供了在同一台机器上运行多个版本的快速概览。

第一个选项是在你希望执行的文件中包含你的 python 版本,使用类似于

#! python 你的代码在这里

在 Python 2 中执行,或者

#! python3 你的代码在这里

用于在您的 Python 3 版本中运行代码。然后,您只需使用“python yourscript.py”,python 版本将由 Python 脚本指定。

StackExchange 站点

还有多个其他问题可以解决您面临的问题:How to install both Python 2.x and Python 3.x in Windows 7

或者对于 Ubuntu 13:Ubuntu 13.04 Install and running Python 3 at the same time than Python 2.7.x

或者对于使用 Homebrew 的 Mac:How can I use Homebrew to install both Python 2 and 3 on Mac? 以及没有 Homebrew 的 Mac 视频参考:http://www.youtube.com/watch?v=c9LlK2iu7OA

【讨论】:

注意:Hashbang (#!) 在 Windows 上被忽略。您不能使用它来切换 Python 版本(但显示您期望的版本仍然是个好主意)。 @AaronDigulla Windows 上是否有任何等效功能? 我不知道。您可以安装 MinWG 以获得类似 unix 的环境,但这只是一个仿真,您会注意到一些奇怪的地方。也许问一个新问题? 如果您使用 py 启动器,Shebang (#!) 可以工作。【参考方案2】:

如果设置了多版本的python,你会遇到问题

文件“F:\PYTHON33\LIB\site.py”,第 173 行 文件=sys.stderr) ^ SyntaxError: 无效语法

要解决此问题,请删除系统环境变量中设置的以前版本的 python

【讨论】:

当它错误地调用另一个 site.py 时我得到了这个错误,然后我通过将 python 移动到路径的顶部来解决这个错误。【参考方案3】:

PYTHONPATH 环境变量设置为 none 为我解决了这个问题。

【讨论】:

【参考方案4】:

如果您想使用不同版本的 Python,请尝试VirtualEnv。

更新: 给你的附加主题:Use different Python version with virtualenv

【讨论】:

【参考方案5】:

更改可执行文件并不是每个人都可以选择的,卸载可能会破坏依赖该 Python 安装的程序。

我在这里的回答并不能保证您可以无缝地同时运行这两个版本,但是我能够在没有像卸载这样重要的事情的情况下解决它。

就我而言,问题在于PYTHONPATHPYTHONHOME 环境变量都设置为3.x 安装路径,而我需要使用2.x 安装。用 2.x 路径替换这些环境变量并重新启动 shell 对我来说是一个可以接受的解决方法。

【讨论】:

【参考方案6】:

我在运行我的 python 文件时收到了同样的错误 蟒蛇文件名.py 我的 PYTHONPATH 设置为使用 python3

我通过使用以下命令运行我的文件来修复它

python3 filename.py

【讨论】:

【参考方案7】:

我通过删除 = 符号并简单地保留为 sys.stderr 解决了这个问题

【讨论】:

你的意思是你修改了F:\PYTHON33\LIB\site.py?我不建议在 Python 安装中更改代码...

以上是关于使用多个版本的 Python的主要内容,如果未能解决你的问题,请参考以下文章

使用多个版本的 Python 启动 Spyder

使用 pyenv 工具管理和安装多个 python 版本

windows下多个python版本共存,pip使用

使用virtualenv管理多个Python版本

安装和导入 Python 包的多个版本

使用pyenv安装多个Python版本