如何在Windows系统中安装Python 2.x和Python 3.x?

240

我大部分的编程工作都是在Windows 7上使用Python 3.x完成的,但现在我需要使用Python Imaging Library(PIL)、ImageMagick和wxPython等程序,这些程序都需要Python 2.x。

我能否在Windows 7上同时安装Python 2.x和Python 3.x?当我运行脚本时,如何“选择”应该使用哪个版本的Python来运行它?前面提到的程序是否能够处理多个版本的Python同时安装?我已经搜索了几个小时,但找不到如何做到这一点。

谢谢。


15
为了得到一个干净、官方的解决方案,请安装Python 3.3(https://dev59.com/nnRC5IYBdhLWcg3wUfJ2#13297878),其中包括Windows版的Python启动器(http://blog.python.org/2011/07/python-launcher-for-windows_11.html)。 - Nick T
2
是的,正如@NickT所说,那是最容易的。不幸的是,下面的回答都没有提供简单明了的方法。(提到版本3.3的回答最接近。)为了更好的答案,请参考重复问题下的被接受的回答:https://dev59.com/8WUo5IYBdhLWcg3wmQZN#17245543 简而言之,使用新的“py”启动器,带或不带-3参数。并考虑将shebangs(#!)添加到您的脚本中,这样您就不需要参数了。 - Jon Coombs
1
此外,一些人发现我在这里发布的细节很有帮助:https://dev59.com/ZG445IYBdhLWcg3w7urD#13533958 - Jon Coombs
19个回答

2

我按照这里的指示分三步完成了此操作:这些内容都直接摘自这里:http://ipython.readthedocs.io/en/stable/install/kernel_install.html。我目前在Windows 8上运行Python 2.x,并安装了Anaconda 4.2.13。

1)首先安装最新版本的Python:

conda create -n python3 python=3 ipykernel

2) 接着激活 python3

activate python3

3) 安装内核:

python -m ipykernel install --user

如果您已经安装了Python 3并想要安装2,可以将上面的2和3交换。当您打开一个新的笔记本时,现在可以选择Python 2或3。

1

我曾经遇到过这个问题,所以我制作了一个.bat启动器,你可以选择要启动的版本。

唯一的问题是你的.py文件必须在python文件夹中,但无论如何,以下是代码:

对于Python2

@echo off
title Python2 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 23, 24, 25, 26)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
path = %PATH%;C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

针对Python3

@echo off
title Python3 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 31, 32, 33, 34)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
cls
set path = %PATH%:C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

将它们保存为.bat文件并按照其中的说明操作。

1
安装Python后,请检查您的系统环境变量,确保Python 3的目录在PATH变量中排在第一位,其次是Python 2。
无论哪个路径变量首先匹配,Windows都会使用它。
在此情况下,使用py -2将启动Python 2。

1

我使用了一个简单的解决方案来切换不同版本的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等。


0

安装你最常用的版本(在我的情况下是3.3),覆盖其他版本。这样可以强制IDLE使用你想要的版本。

另外,从Python3.3的README中:

安装多个版本

在Unix和Mac系统上,如果你打算使用相同的安装前缀(--prefix参数传递给configure脚本)安装多个Python版本,你必须注意不要让你的主要python可执行文件被不同版本的安装所覆盖。所有使用“make altinstall”安装的文件和目录都包含主版本和次版本,因此可以并存。"make install"还会创建${prefix}/bin/python3,它指向${prefix}/bin/pythonX.Y。如果你打算使用相同的前缀安装多个版本,你必须决定哪个版本(如果有的话)是你的“主要”版本。使用“make install”安装该版本。使用“make altinstall”安装所有其他版本。

例如,如果你想安装Python 2.6、2.7和3.3,其中2.7是主要版本,你应该在2.7构建目录中执行“make install”,在其他目录中执行“make altinstall”。


0

我只是不得不安装它们。然后我使用免费(且可移动的)软件http://defaultprogramseditor.com/ 在"文件类型设置/上下文菜单/搜索:"py"下,选择.py文件并添加了一个'打开'命令,通过复制现有的命令'用IDLE打开',将名称更改为IDLE 3.4.1/2.7.8,并在程序路径中替换其各自版本的文件号。现在,我只需右键单击.py文件并选择要使用的IDLE即可。如果您喜欢,也可以使用直接解释器做同样的操作。


-1

我在Windows 10 Pro上安装了Python 2.7.13和Python 3.6.1,但当我尝试使用pip2或pip3时,都出现了相同的“致命错误”。

为了解决这个问题,我进入了Python 2和Python 3文件的python.exe位置,并创建了每个文件的副本,然后将每个副本重命名为python2.exe和python3.exe,具体取决于安装文件夹中的Python版本。因此,在每个Python安装文件夹中,我都有一个python.exe文件和一个python2.exe或python3.exe文件,具体取决于Python版本。

这样做后,我就可以成功地使用pip2或pip3了。


-1

仅在Python IDE中运行代码时才有效

我在Windows操作系统上安装了Python 2.7和Python 3.3。如果我尝试启动一个文件,它通常会在Python 2.7 IDE上打开。我是如何解决这个问题的呢?当我选择在Python 3.3上运行我的代码时,我打开Python 3.3 IDLE(Python GUI),选择文件,用IDLE打开我的文件并保存。然后当我运行我的代码时,它将在我当前打开的IDLE中运行。对于2.7也是同样的道理。


-2

如果您无法让其他任何东西正常工作,请在您选择的任何版本中打开解释器(我喜欢使用iPython),然后:

import subprocess

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

这个使用当前所运行的 Python 版本。对于单个脚本来说非常好用,但如果要运行多个脚本,它很快就会变得不可控,此时您可以创建一个批处理文件,将所有调用放在其中。这并不是最优雅的解决方案,但它有效。

是否有一种像 Linux 那样为不同的 Python 版本创建别名的方法?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接