我的机器上安装了两个版本的Python(版本2.6和2.5)。我想为一个项目运行2.6,为另一个项目运行2.5。
如何指定我想要使用的内容?
我正在使用Windows XP SP2。
答案 0 :(得分:114)
运行不同的Python副本就像启动正确的可执行文件一样简单。你提到你已经从命令行启动了一个python实例,只需输入python
即可。
这在Windows下的作用是搜索%PATH%环境变量,检查可执行文件,批处理文件(.bat),命令文件(.cmd)或其他一些可运行的可执行文件,它们与给定的名称相匹配。当它找到要运行的正确文件时,就会这样做。
现在,如果你安装了两个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
。
答案 1 :(得分:77)
为问题添加另外两个解决方案:
#! c:\[path to Python 2.5]\python.exe
- 对于您希望使用Python 2.5运行的脚本
#! c:\[path to Python 2.6]\python.exe
- 对于您希望使用Python 2.6运行的脚本
或者代替运行python
命令运行pylauncher命令(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
答案 2 :(得分:47)
从Python 3.3开始,有适用于Windows的官方 Python启动器(http://www.python.org/dev/peps/pep-0397/)。现在,您可以使用#!pythonX
在Windows上确定所需的解释器版本。查看更多详情in my another comment或阅读PEP 397。
摘要: py script.py
如果缺少#!
,则会启动#!
或Python 2中所述的Python版本。 py -3 script.py
启动Python 3。
答案 3 :(得分:43)
根据@alexander,您可以制作一组符号链接,如下所示。将它们放在路径中包含的位置,以便轻松调用它们
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
只要c:\ bin或你把它们放在哪里就在你的路径中,你现在可以去
> python25
答案 4 :(得分:6)
安装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
on Windows Unix(包括Linux和OS X)。
在Unix(包括Linux和OS X)上安装时,您将获得安装的通用python
命令,这将是您安装的最后一个命令。这通常不是问题,因为大多数脚本将显式调用/usr/local/bin/python2.5或其他只是为了防止这种情况。但是如果你不想这样做,而你可能不这样做,你可以像这样安装它:
./configure
make
sudo make altinstall
注意“altinstall”意味着它将安装它,但它不替换python
命令。
在Windows上,据我所知,您没有获得全局python
命令,因此这不是问题。
答案 5 :(得分:4)
这是一个快速黑客:
C:\Users\Your name
)name_of_your_shortcut.lnk
(我使用p27.lnk
)答案 6 :(得分:3)
一种简单的方法是您可以使用
py -3.8 -m pip install virtualenv
在这里-3.8
与您的[version number]
一起
安装virtualenv之后,您可以使用以下方式创建应用程序的虚拟环境
py -3.8 -m virtualenv [your env name]
然后将cd转到venv,输入activate
这将激活您喜欢的python版本。 只需更改版本号即可使用其他python版本。
答案 7 :(得分:3)
安装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
答案 8 :(得分:2)
cp c:\ python27 \ bin \ python.exe as python2.7.exe
cp c:\ python34 \ bin \ python.exe as 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.
>>>
答案 9 :(得分:1)
在Windows上运行多个版本的python的最简单方法如下所述: -
1)从 python.org/downloads 下载最新版本的 python ,方法是选择系统的相关版本。
2)运行安装程序并选择将python 3.x添加到路径以在python 3中自动设置路径(您只需单击复选框)。对于python 2打开你的python 2安装程序,选择你想要的任何首选项但只记得设置添加python.exe到路径到将安装在本地硬盘上,现在只需单击下一步,然后等待安装程序完成。
3)两个安装完成后。 右键单击我的计算机 - 转到属性 - 选择高级系统设置 - 转到环境变量 - 单击系统变量下的新增并添加新的系统变量将变量名称设为 PY_PYTHON ,并将此变量值设置为 3 。现在点击确定,您就应该完成。
4)现在要测试它,打开命令提示符。一旦你在那里输入 python 或 py ,它应该打开 python3 。
5)现在输入 exit()退出python3。现在输入 py -2 ,它应该打开python 2。
如果这些都不起作用,请重新启动计算机,如果问题仍然存在,请卸载所有内容并重复上述步骤。
感谢。
答案 10 :(得分:0)
使用批处理文件在Windows 7上轻松高效地切换。我使用:
在环境变量对话框(C:\ Windows \ System32 \ SystemPropertiesAdvanced.exe)中,
在用户变量部分
中将%pathpython%添加到路径环境变量
删除了对python pathes的任何引用
在系统变量部分
中我为每个python安装创建了批处理文件(例如3.4 x64
Name = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-)只是为了记住。
文件内容=
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
要在版本之间切换,我在管理员模式下执行批处理文件。
!!!!!这些更改对SUBSEQUENT命令提示符窗口OPENED有效。 !!!
所以我对它有严格的控制。
答案 11 :(得分:0)
例如对于3.6版本类型py -3.6
。
如果您同时具有32位和64位版本,则只需键入py -3.6-64
或py -3.6-32
。
答案 12 :(得分:0)
答案 13 :(得分:0)
在使用不同的python版本时,我遇到了同样的问题,因此我使用anaconda导航器创建了不同的python开发环境,并在每种环境中使用了不同的python版本。
这是帮助文档。
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
答案 14 :(得分:0)
答案 15 :(得分:0)
假设我们安装了python 3.7和python 3.6。
默认情况下,它们分别存储在以下文件夹中。
C:\ Users \ name \ AppData \ Local \ Programs \ Python \ Python36 C:\ Users \ name \ AppData \ Local \ Programs \ Python \ Python37
如果我们要在以上任何特定环境中使用cmd提示符安装/运行命令,请执行以下操作:
上述每个文件夹中都应该有python.exe。
因此,当我们尝试为ex运行任何文件时。 (请参见图片1)python hello.py
。我们将其称为python.exe。默认情况下,它选择较低版本的文件。 (在这种情况下,它将在python 3.6中使用)
所以如果我们想使用python3.7运行。只需更改.exe文件名。对于前。如果我更改为python37.exe,并且想使用python3.7运行hello.py
我将使用python37 hello.py
。或者如果我想默认使用python3.7,我会将python3.6文件夹中的python.exe文件名更改为其他名称。这样,当我仅使用python hello.py
答案 16 :(得分:-1)
使用Rapid Environment Editor,您可以将所需Python安装的目录推送到顶部。例如,要从c:\ Python27目录启动python,请确保c:\ Python27目录位于Path环境变量中c:\ Python36目录之前或之上。根据我的经验,在Path环境中找到的第一个python可执行文件正在执行。例如,我在Python27上安装了MSYS2,因为我已经将C:\ MSYS2添加到C:\ Python36之前的路径,所以正在执行C:\ MSYS2 ....文件夹中的python.exe。 / p>
答案 17 :(得分:-1)
我认为这个答案可能对其他拥有多个python版本的人有所帮助,并希望使用pipenv创建虚拟环境。
py -[python version] pip install pipenv
,例如:py -3.6 pip install pipenv
pipenv --python [version]
以使用所需的python版本创建虚拟环境。示例:pipenv --python 3.6
pipenv shell
激活您的虚拟环境。答案 18 :(得分:-4)
只需调用正确的可执行文件
即可