我的机器上安装了两个版本的Python(版本2.6和2.5)。我想在一个项目上运行2.6,在另一个项目上运行2.5。
我如何指定我想要使用哪个?
我正在使用Windows XP SP2。
我的机器上安装了两个版本的Python(版本2.6和2.5)。我想在一个项目上运行2.6,在另一个项目上运行2.5。
我如何指定我想要使用哪个?
我正在使用Windows XP SP2。
当前回答
运行不同的Python副本与启动正确的可执行文件一样简单。您提到您已经通过简单地输入python从命令行启动了一个python实例。
这在Windows下所做的是搜索%PATH%环境变量,检查与给定名称匹配的可执行文件(批处理文件(.bat)、命令文件(.cmd)或其他要运行的可执行文件(由PATHEXT环境变量控制)。当它找到要运行的正确文件时,文件就会被运行。
现在,如果你已经安装了两个python版本2.5和2.6,该路径将包含它们的两个目录,类似于path =c:\python\2.5;c:\python\2.6,但Windows在找到匹配时将停止检查该路径。
你真正需要做的是显式地调用一个或两个应用程序,例如c:\python\2.5\python.exe或c:\python\2.6\python.exe。
另一种方法是为各自的python.exe创建一个快捷方式,将其中一个命名为python25,另一个命名为python26;然后,只需在命令行上运行python25即可。
其他回答
安装python C: \ Python27 C: \ Python36 环境变量 PYTHON2_HOME: C: \ Python27 PYTHON3_HOME: C: \ Python36 路径:% PYTHON2_HOME %, % PYTHON2_HOME % \脚本;% PYTHON3_HOME %, % PYTHON3_HOME % \脚本; 文件重命名 C:\Python27\python2.exe→C:\Python27\python2.exe C:\Python36\python3.exe→C:\Python36\python3.exe 皮普 Python2 -m PIP安装包 Python3 -m PIP安装包
只需调用正确的可执行文件
为这个问题增加了两个解决方案:
使用pylauncher(如果你有Python 3.3或更新版本,不需要安装它,因为Python已经自带了),或者在你的脚本中添加shebang行;
# !c:\[Python 2.5的路径]\ Python .exe -用于您希望在Python 2.5中运行的脚本 # !c:\[Python 2.6的路径]\ Python .exe -用于您希望在Python 2.6中运行的脚本
或者不是运行python命令,而是运行pylauncher命令(py) specyfing你想要的python版本;
Py -2.6 -版本2.6 Py -2 -最新安装版本2.x Py -3.4 -版本3.4 Py -3 -最新安装版本3.x
安装virtualenv并创建两个virtualenv;
virtualenv -p c:\[Python 2.5的路径]\ Python .exe[使用Python 2.5创建virtualenv的路径]\[virtualenv的名称]
virtualenv -p c:\[Python 2.6的路径]\ Python .exe[使用Python 2.6创建virtualenv的路径]\[virtualenv的名称]
例如
Virtualenv -p c:\python2.5\python.exe c:\venvs\2.5 .exe
Virtualenv -p c:\python2.6\python.exe c:\venvs\2.6 .exe
然后你可以激活第一个并像这样使用Python 2.5 c: \ venvs \ 2.5 \激活 当你想切换到Python 2.6时,你可以这样做
deactivate
c:\venvs\2.6\activate
您可以通过Anaconda Navigator图形化地创建不同的python开发环境。 在使用不同的python版本时,我也遇到了同样的问题,所以我使用anaconda navigator来创建不同的python开发环境,并在每个环境中使用不同的python版本。
下面是相关的帮助文档。
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
使用批处理文件切换,在windows 7上简单高效。我用这个:
在环境变量对话框(C:\Windows\System32\SystemPropertiesAdvanced.exe)
在部分用户变量
添加了%pathpython%到path环境变量 删除了对python路径的任何引用
在部分系统变量
删除了对python路径的任何引用
我为每个python安装都创建了批处理文件(例如3.4 x64)
Name = SetPathPython34x64 !!ToExecuteAsAdmin.bat;-)只是为了记住。
文件的内容=
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
为了在版本之间切换,我以管理模式执行批处理文件。
! !这些更改对随后的命令提示符窗口“已打开”有效。!!!
所以我可以完全控制它。