如何在Windows 7中安装Python 2.x和Python 3.x
我在Windows 7上使用Python 3.x进行大部分编程,但是现在我需要使用Python图像库(PIL),ImageMagick和wxPython,所有这些都需要Python 2.x。
我可以在Windows 7中安装Python 2.x和Python 3.x吗? 当我运行一个脚本时,如何“select”哪个版本的Python应该运行它? 上述程序能够同时处理多个版本的Python吗? 我已经search了几个小时如何做到这一点无济于事。
谢谢。
我发现正式的做法如下:
只需在Windows 7上安装两个(或更多,使用他们的安装程序)Python版本(对于我3.3和2.7)。
按照下面的说明,根据需要更改参数。
创build以下环境variables(双击时默认):
Name: PY_PYTHON Value: 3
要在特定的解释器中启动脚本,请添加以下shebang(脚本的开始):
#! python2
要使用特定的解释器执行脚本,请使用以下提示命令:
> py -2 MyScript.py
要启动一个特定的翻译:
> py -2
启动默认解释器(由PY_PYTHONvariables定义):
> py
资源
文档: 在Windows上使用Python
PEP 397 – 适用于Windows的Python启动器
我在Windows中有多个版本。 我只是改变我没有违约的版本的EXE名称。
python.exe – > python26.exe
pythonw.exe – > pythonw26.exe
至于包安装程序,大多数exe安装程序允许您selectpython安装也添加包。 对于手动安装,请检查–prefix选项以定义应该安装软件包的位置:
http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme
我所做的是同时下载2.7.6和3.3.4。 Python 3.3.4可以select在环境variables中添加path,这样就完成了。 所以基本上我只是手动添加Python 2.7.6。
如何…
-
开始>在searchtypes的环境中select“编辑环境variables到您的帐户”1
-
向下滚动到path,selectpath,单击编辑。
-
添加C:\ Python27; 所以你应该有两个版本的Python的path,但如果你不这样做,你可以很容易地编辑它,所以你可以做….. C:\ Python27; C:\ Python33;
-
导航到C:\中的Python27文件夹,并将python.exe更改为python2.exe
-
导航到C:\中的Python34文件夹,并将python.exe更改为python3.exe
-
testing:打开命令提示符并inputpython2 …. BOOM! Python 2.7.6。 退出。
-
testing:打开命令提示符并inputpython3 …. BOOM! Python 3.4.3。 退出。
注意:(在步骤4和步骤5之前不要断开pip命令,将python.exe的副本保留在同一目录中并重命名文件)
如果你使用Anaconda Python,你可以轻松地安装各种环境。
假设你已经安装了Anaconda Python 2.7并且你想要一个python 3.4环境:
conda create -n py34 python=3.4 anaconda
然后激活环境:
activate py34
而且要停用:
deactivate py34
(用Linux,你应该使用source activate py34
。)
链接:
下载Anaconda Python
环境说明
从3.3版开始Windows版本有Python启动器,请看3.4节。 Windows的Python启动器
您可以安装多个版本的Python一台机器,在安装过程中,您可以select让其中一个将自己与Python文件扩展名关联起来。 如果你安装了模块,不同的版本会有不同的安装包,或者你可以select你想要的目标版本。 由于他们通常将自己安装到解释器版本的site-packages目录中,所以不应该有任何冲突(但我没有testing过)。 要select哪个版本的python,如果它不是默认的,你将不得不手动指定解释器的path。 据我所知,他们会共享相同的PATH和PYTHONPATHvariables,这可能是一个问题。
注意:我运行Windows XP。 我不知道这是否有其他版本的变化,但我没有看到任何理由。
以下是你可以做的事情:
安装cmder 。 像打开CMDterminal一样打开并使用Cmder。 使用命令别名来创build命令别名。
我做了以下几点:
alias python2 = c:\python27\python.exe alias python3 = c:\python34\python.exe
而就是这样! 😉
我在我自己的Windows电脑上安装了Python 2.7和Python 3.4的function是我在与Python.exe文件相同的目录下写了一个简单的.bat文件。 他们看起来像,
cmd /k "c:\python27\python.exe" %*
%*允许你在之后添加参数(Python文件)。 我相信/ k在完成脚本运行后保持提示。 然后我把它保存为python27.bat然后我去我的Python 3目录,并在那里做一个bat文件。 现在在我的命令行中,我可以写
Python27 helloworld.py
要么
Python34 helloworld.py
他们将运行在各自的Python版本中。 确保c:\ python27和c:\ python34在您的环境variables中。
我从这里得到了答案
按照这里的说明,我通过三个步骤完成了这一切:这是直接从这里获取: 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。 当你打开一个新的笔记本,你现在可以selectPython 2或3。
在安装Python之后检查你的系统环境variables,python 3的目录应该先在你的PATHvariables中,然后是python 2。
无论哪个pathvariables首先匹配Windows使用。
一如往常py -2将在这种情况下启动python2。
安装一个你最常用的(3.3在我的情况下)在另一个顶部。 这将迫使IDLE使用你想要的。
或者(从python3.3自述文件):
安装多个版本
在Unix和Mac系统上,如果您打算使用相同的安装前缀(–configure脚本的–prefix参数)来安装多个版本的Python,则必须注意您的主要python可执行文件不会被安装不同的版本所覆盖。 使用“make altinstall”安装的所有文件和目录包含主版本和次版本,因此可以并排居住。 “make install”还会创build$ {prefix} / bin / python3,它指向$ {prefix} /bin/pythonX.Y。 如果您打算使用相同的前缀安装多个版本,则必须决定哪个版本(如果有)是您的“主要”版本。 使用“make install”安装该版本。 使用“make altinstall”安装所有其他版本。
例如,如果你想安装Python 2.6,2.7和3.3,其中2.7是主版本,你可以在2.7 build目录中执行“make install”,而在其他版本中执行“make altinstall”。
我只需要安装它们。 然后,我在http://defaultprogramseditor.com/下的“文件types设置”/“上下文菜单”/search:“py”下select了;.py文件,并添加了“打开”命令2 IDLE,通过复制名为'open with IDLE'的existant命令,将名称更改为IDLE 3.4.1 / 2.7.8,并在程序path中replace它们各自版本的文件号。 现在我只需右键点击.py文件,并select我想使用的IDLE。 如果您愿意的话,也可以和直接翻译人员一样。
我其实只是想到一个有趣的解决scheme。 虽然Windows不允许您轻松地使用别名程序,但您也可以创build重命名的batch file来调用当前程序。
而不是重命名包含pip的许多事情的可执行文件,而是在python2.exe的同一目录中创build文件python2.bat。 然后添加以下行:
%~dp0python %*
这个古老的语法是什么意思? 那么,这是一个批处理脚本,(Windows版本的bash)。 %〜dp0获取当前目录,%*将传递给脚本的所有parameter passing给python。
重复python3.bat
您也可以对pip和其他实用程序执行相同的操作,只需用pip或任何文件名replace文件中的python字即可。 别名将是文件名称。
最重要的是,当添加到PATH时,Windows将忽略正在运行的扩展
python3
将启动python3版本,并且命令python2将启动python2版本。
顺便说一句,这是Spyder用于将自己添加到Windows上的path相同的技术。 🙂
我自己也遇到过这个问题,我用.bat制作了自己的发射器,所以你可以select你想要发布的版本。
唯一的问题是你的.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并按照说明进行操作。
我个人做的很简单。
系统:Windows 8.1 x86_64,Python x64版本
- 安装最新的Python 3.x二进制文件,并将目录添加到path(我也注册了.py扩展名,以使用Python 3.x运行)。
- 安装最新的Python 2.x二进制文件(不要向其注册扩展名,也不要添加到path中)。
如果安装了Python 2.x二进制文件,Python 3.x似乎向后兼容Python 2.x。
从官方Python网站下载安装程序。 像上面那样安装之后,像以前一样正常运行Python 3。 现在为Python 2.x程序运行它们: py -2 [command]
。
testing在多个Python 2.x只有程序。
如果你不能得到任何其他的工作,打开你select的版本的翻译(我更喜欢使用iPython)和:
import subprocess subprocess.call('python script.py -flags')
这使用您正在使用的任何python版本。 对于单个脚本来说工作正常,但是如果有很多脚本运行,就会很快失去控制权,在这种情况下,您可以随时创build一个包含所有这些调用的batch file。 不是最优雅的答案,但它的工作原理。
有没有办法为不同的python版本la Linux做别名?
仅在您的Python IDE中运行代码时才有效
我的Windows操作系统上安装了Python 2.7和Python 3.3。 如果我尝试启动一个文件,它通常会打开python 2.7 IDE。 我如何解决这个问题,当我select在Python 3.3上运行我的代码时,我打开了Python 3.3 IDLE(Python GUI),select文件,用IDLE打开我的文件并保存。 然后当我运行我的代码时,它运行到我目前打开它的IDLE。 它与2.7反之亦然。
我已经在Windows 10pro上安装了python 2.7.13和python 3.6.1,当我尝试使用pip2或pip3时,我遇到了同样的“致命错误”。
我所做的纠正这是去python.exe的位置python 2和python 3文件,并创build每个副本,然后我将每个副本重命名为python2.exe和python3.exe取决于python版本中的安装文件夹。 因此,我在每个python安装文件夹中都有一个python.exe文件和一个python2.exe或python3.exe,具体取决于python版本。
当我inputpip2或pip3时,这解决了我的问题。