我在计算机上安装了两个版本的Python(版本2.6和2.5)。我想为一个项目运行2.6,为另一个项目运行2.5。
如何指定我要使用哪个?
我正在使用Windows XP SP2。
我在计算机上安装了两个版本的Python(版本2.6和2.5)。我想为一个项目运行2.6,为另一个项目运行2.5。
如何指定我要使用哪个?
我正在使用Windows XP SP2。
Answers:
运行不同的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
,您只需在命令行上运行即可。
为该问题添加了两个解决方案:
#! c:\[path to Python 2.5]\python.exe
-适用于要与Python 2.5一起运行
#! c:\[path to Python 2.6]\python.exe
的脚本-适用于要与Python 2.6一起运行的脚本
或者代替运行python
命令run pylauncher command(py
)指定要使用哪个版本的Python;或者
py -2.6
–版本2.6
py -2
–最新安装的版本2.x
py -3.4
–版本3.4
py -3
–最新安装的版本3.x
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]
例如
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
那么您可以激活第一个并像这样使用Python 2.5,
c:\venvs\2.5\activate
并且当您想切换到Python 2.6时,
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
。如果有帮助,请在Windows 10上使用。除此之外,谢谢。
从Python 3.3开始,有适用于Windows的官方Python启动器(http://www.python.org/dev/peps/pep-0397/)。现在,您也可以#!pythonX
在Windows上使用来确定所需的解释器版本。在我的其他评论中查看更多详细信息,或阅读PEP 397。
总结:在py script.py
Python的版本中规定发布#!
,如果或Python 2 #!
缺失。该py -3 script.py
运行Python 3。
.py
扩展名的关联。启动器本身已安装C:\Windows
在中PATH
。这样,PATH
变量也无需修改。
按照@alexander,您可以建立如下的符号链接集。将它们放在您的路径中包含的某个位置,以便可以轻松调用它们
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
只要您将c:\ bin或您放置在其中的任何位置都在路径中,现在就可以
> python25
mklink
仅在Windows Vista / 2008 +中本地可用。在XP和Server 2003上,可以创建“硬链接”,而不是使用fsutil hardlink create <new filename> <existing filename>
<new filename>并将其放置或移动到路径中的某个位置。但是,硬链接只能在同一驱动器上工作。
安装python
环境变量
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
文件重命名
点子
python2 -m pip install package
python3 -m pip install package
python
命令会使操作系统感到困惑。
例如对于3.6版本类型py -3.6
。如果您同时具有32位和64位版本,则只需键入py -3.6-64
或即可py -3.6-32
。
py
可执行文件在哪里-它是Windows的唯一补充吗?是否可以将其合并到位于顶部的跨平台命令行脚本中#!/usr/bin/env python3
?例如?
当您安装Python时,它不会覆盖其他主要版本的其他安装。因此,安装Python 2.5.x不会覆盖Python 2.6.x,尽管安装2.6.6会覆盖2.6.5。
因此,您只需安装它即可。然后,调用所需的Python版本。例如:
C:\Python2.5\Python.exe
适用于Windows上的Python 2.5和
C:\Python2.6\Python.exe
适用于Windows上的Python 2.6,或
/usr/local/bin/python-2.5
要么
/usr/local/bin/python-2.6
在Windows Unix(包括Linux和OS X)上。
在Unix(包括Linux和OS X)上python
安装时,将安装通用命令,这是最后安装的命令。大多数情况下这不是问题,因为大多数脚本会显式调用/usr/local/bin/python2.5或一些用于防止这种情况的文件。但是,如果您不想这样做,并且您可能不想这样做,可以这样安装:
./configure
make
sudo make altinstall
请注意,“ altinstall”表示它将安装它,但不会代替python
命令。
python
据我所知,在Windows上您没有得到全局命令,所以这不是问题。
C:\Python2.5
or C:\Python2.6
目录PATH
,则相应的Python版本将成为默认版本,除非您通过显式指定要使用的.exe的其他路径来覆盖它,否则它将变为默认版本。
这是一个快速的技巧:
C:\Users\Your name
)name_of_your_shortcut.lnk
(我使用p27.lnk
)cp c:\ python27 \ bin \ python.exe作为python2.7.exe
cp c:\ python34 \ bin \ python.exe作为python3.4.exe
它们都在系统路径中,请选择要运行的版本
C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
使用批处理文件进行切换,在Windows 7上轻松高效。我使用以下命令:
在环境变量对话框(C:\ Windows \ System32 \ SystemPropertiesAdvanced.exe)中,
在用户变量部分
在路径环境变量中添加了%pathpython%
删除了对python路径的任何引用
在系统变量部分
我为每个python安装创建了批处理文件(例如3.4 x64
名称= SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-)只是为了记住。
文件内容=
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
要在版本之间切换,我在admin模式下执行批处理文件。
!!!!! 该更改对SUBSEQUENT命令提示符窗口OPENED有效。!!!
因此,我对此有完全的控制权。
在Windows上运行多个版本的python的最简单方法如下所述:
1)从python.org/downloads下载最新版本的python通过选择系统的相关版本,。
2)运行安装程序,然后选择将python 3.x添加到路径中以在python 3中自动设置路径(您只需单击复选框)。对于python 2,请打开python 2安装程序,选择所需的任何首选项,但只需记住将Add python.exe设置为路径,将其安装在本地硬盘上,现在只需单击下一步,然后等待安装程序完成即可。
3)两个安装都完成后。右键单击我的计算机-转到属性-选择高级系统设置-转到环境变量-单击系统变量下的新建,然后添加一个新的系统变量,其变量名称为PY_PYTHON并将此变量值设置为3。现在单击确定,您应该完成。
4)现在要对此进行测试,请打开命令提示符。一旦进入python或py,它应该打开python3。
5)现在通过键入exit()退出 python3 。现在输入py -2应该会打开python 2。
如果这些都不起作用,请重新启动计算机,如果问题仍然存在,请卸载所有组件并重复步骤。
谢谢。
您可以从Anaconda Navigator图形化地创建不同的python开发环境。在使用不同的python版本时遇到相同的问题,因此我使用anaconda导航器创建了不同的python开发环境,并在每个环境中使用了不同的python版本。
这是帮助文档。
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
使用Rapid Environment Editor, 您可以将所需的Python安装目录推到顶部。例如,要从c:\ Python27目录启动python,请确保c:\ Python27目录在Path环境变量中的c:\ Python36目录之前或之上。根据我的经验,正在执行Path环境中找到的第一个python可执行文件。例如,我已经在Python27上安装了MSYS2,并且由于我已经将C:\ MSYS2添加到C:\ Python36之前的路径中,因此正在执行C:\ MSYS2 ....文件夹中的python.exe。
只需调用正确的可执行文件
python
尝试输入python2.5
或而不是进入外壳python2.6
。我不是Windows用户,但在unix / usr / bin / python上通常是完全限定的可执行文件的别名,我假设Windows中的python以类似的方式安装