我的大部分编程都是用Python 3完成的。但现在我需要使用Python成像库(PIL)、ImageMagick和wxPython,所有这些都需要Python 2.x。

我可以要两个Python 2吗?3. Python。Windows 7?当我运行一个脚本时,我如何“选择”哪个版本的Python应该运行它?上述程序是否能够处理同时安装的多个Python版本?我已经花了好几个小时来寻找如何做到这一点,但无济于事。

谢谢。


当前回答

我使用一个简单的解决方案从一个版本切换到另一个版本的python,你可以安装所有你想要的版本。你所要做的就是创造一些可变的环境。 在我的例子中,我已经安装了python 2.7和python 3.8.1,所以我创建了以下环境变量:

PYTHON_HOME_2.7 = < path_python_2.7 > PYTHON_HOME_3.8.1 = < path_python_3.8.1 > PYTHON_HOME = % PYTHON_HOME_2.7%

然后在PATH环境变量中只放入%PYTHON_HOME%和%PYTHON_HOME%\Scripts。在上面的例子中,我使用的是2.7版本,当我想切换到其他版本时,我只需要设置PYTHON_HOME=%PYTHON_HOME_3.8.1%。 我使用这种方法可以快速地从一个版本切换到另一个版本,同样适用于JAVA、MAVEN、GRADLE、ANT等等。

其他回答

安装Python后检查系统环境变量,首先在PATH变量中应该是python3的目录,然后是python2。

最先匹配的路径变量就是Windows使用的路径变量。

一如既往,py -2将在此场景中启动python2。

You can install multiple versions of Python one machine, and during setup, you can choose to have one of them associate itself with Python file extensions. If you install modules, there will be different setup packages for different versions, or you can choose which version you want to target. Since they generally install themselves into the site-packages directory of the interpreter version, there shouldn't be any conflicts (but I haven't tested this). To choose which version of python, you would have to manually specify the path to the interpreter if it is not the default one. As far as I know, they would share the same PATH and PYTHONPATH variables, which may be a problem.

注:我使用的是Windows XP。我不知道其他版本是否会有这些变化,但我看不出有任何理由会发生变化。

如果你不能让其他任何东西工作,打开一个解释器,无论你选择哪个版本(我更喜欢使用iPython),然后:

import subprocess

subprocess.call('python script.py -flags')

这将使用当前运行的python版本。适用于单个脚本,但如果您运行许多脚本,则很快就会失控,在这种情况下,您可以始终在其中创建一个包含所有这些调用的批处理文件。这不是最优雅的回答,但很有效。

是否有一种方法使别名不同的python版本一个la Linux?

我已经在windows 10pro上安装了python 2.7.13和python 3.6.1,当我尝试pip2或pip3时,我得到了相同的“致命错误”。

为了纠正这一点,我去python2和python3文件的python.exe的位置,并为每个文件创建一个副本,然后根据安装文件夹中的python版本将每个副本重命名为python2.exe和python3.exe。因此,我在每个python安装文件夹中都有一个python.exe文件和一个python2.exe或python3.exe,这取决于python版本。

当我输入pip2或pip3时,这解决了我的问题。

我发现这样做的正式方式如下:

只需在Windows 7上安装两个(或两个以上,使用它们的安装程序)版本的Python(对我来说,使用3.3和2.7)。

按照下面的说明,根据需要更改参数。

创建以下环境变量(双击时为默认值):

Name:  PY_PYTHON
Value: 3

要在特定的解释器中启动脚本,添加以下shebang(脚本的开头):

#! python2

要使用特定的解释器执行脚本,请使用以下提示命令:

> py -2 MyScript.py

启动一个特定的解释器:

> py -2

要启动默认解释器(由PY_PYTHON变量定义):

> py

资源

文档:在Windows上使用Python

PEP 397 - Windows Python启动器