如何在 Windows 上运行多个 Python 版本
- 2024-12-12 08:40:00
- admin 原创
- 149
问题描述:
我的机器上安装了两个版本的 Python(2.6 和 2.5 版)。我想在一个项目上运行 2.6 版,在另一个项目上运行 2.5 版。
我如何指定我想要使用哪一个?
我正在使用 Windows XP SP2。
解决方案 1:
运行不同的 Python 副本就像启动正确的可执行文件一样简单。您提到您已从命令行启动了 Python 实例,只需键入 即可python
。
在 Windows 下,它的作用是搜索%PATH%
环境变量,查找与给定名称匹配的可执行文件,无论是批处理文件 ( .bat
)、命令文件 ( .cmd
) 还是其他要运行的可执行文件(由PATHEXT
环境变量控制)。当它找到要运行的正确文件时,该文件就会运行。
现在,如果您安装了两个 python 版本 2.5 和 2.6,则路径中将包含它们的两个目录,类似于PATH=c:python.5;c:python.6
但当找到匹配项时,Windows 将停止检查路径。
您真正需要做的是明确调用其中一个或两个应用程序,例如c:python.5python.exe
或c:python.6python.exe
。
另一种方法是创建一个快捷方式,分别调用python.exe
其中一个python25
和另一个;然后您只需在命令行上python26
运行即可。python25
解决方案 2:
为该问题添加另外两个解决方案:
使用pylauncher(如果您有 Python 3.3 或更新版本,则无需安装它,因为它已经随 Python自带)并将 shebang 行添加到您的脚本中;
#! 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并创建两个virtualenv;
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.5python.exe c:envs.5
virtualenv -p c:python2.6python.exe c:envs.6
然后你可以激活第一个并使用 Python 2.5,就像这样
c:envs.5activate
,当你想切换到 Python 2.6 时,你可以这样做
deactivate
c:envs.6activate
解决方案 3:
根据 @alexander 的说法,您可以创建一组如下所示的符号链接。将它们放在路径中包含的某个位置,以便可以轻松调用它们
> cd c:in
> mklink python25.exe c:python25python.exe
> mklink python26.exe c:python26python.exe
只要 c:\bin 或您放置它们的位置在您的路径中,您现在就可以去
> python25
解决方案 4:
从 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。
解决方案 5:
例如对于 3.6 版本,请输入py -3.6
。如果您还有 32 位和 64 位版本,则只需输入py -3.6-64
或py -3.6-32
。
解决方案 6:
安装 python
* 目录:\\Python27
* 目录:\\Python36
环境变量
* `PYTHON2_HOME: C:Python27`
* `PYTHON3_HOME: C:Python36`
* `Path: %PYTHON2_HOME%;%PYTHON2_HOME%Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%Scripts;`
文件重命名
* C:\\Python27\\python.exe → C:\\Python27\\python2.exe
* C:\\Python36\\python.exe → C:\\Python36\\python3.exe
点子
* `python2 -m pip install package`
* `python3 -m pip install package`
解决方案 7:
我强烈推荐pyenv-win项目。
感谢kirankotari的工作,现在我们有了 Windows 版本的 pyenv。
解决方案 8:
一个简单的方法是使用
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 版本。
解决方案 9:
安装 Python 时,它不会覆盖其他主要版本的安装。因此,安装 Python 2.5.x 不会覆盖 Python 2.6.x,但安装 2.6.6 会覆盖 2.6.5。
所以你只需安装它即可。然后调用你想要的 Python 版本。例如:
C:Python2.5Python.exe
对于 Windows 上的 Python 2.5 和
C:Python2.6Python.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 上您无法获得全局命令,所以这不是问题。
解决方案 10:
这是一个简单的技巧:
进入你想要运行的python版本的目录
右键单击python.exe
选择“创建快捷方式”
为该快捷方式指定一个名称以便调用(我使用 p27、p33 等)
将该快捷方式移动到您的主目录(
C:UsersYour name
)打开命令提示符并输入
name_of_your_shortcut.lnk
(我使用p27.lnk
)
解决方案 11:
显示你安装的 Python
py -0
使用Python版本来做某事
py -*version*
前任。
py -3.8 venv venv
将在 python 3.8 中创建虚拟环境
笔记:
python -0
or
python -3.8
不起作用,我认为它必须是“py”
解决方案 12:
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.
>>>
解决方案 13:
在 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。
如果这些都不起作用,请重新启动计算机,如果问题仍然存在,请卸载所有内容并重复这些步骤。
谢谢。
解决方案 14:
这是一个简单而优雅的解决方案,可以轻松运行 2 个或更多不同版本的 Python,而无需在 Windows 中使用脚本。无论 Python 是什么版本,它都会从命令提示符启动。
我有 python 版本 3.6.6 和 3.9。环境变量路径正常,并且在安装每个版本的 python 时自动添加。
最好使用“所有用户”选项安装 Python。这样 Python 就会简单地安装到:
C:program filespython36
C:program filespython39
打开每个 python 文件夹并找到 python.exe 文件。将 python.exe 文件复制并粘贴到相同的文件夹中。然后小心地将副本重命名为:
python36.exe
python39.exe
打开并编辑环境变量。添加 4 个新的用户变量。
C:Program FilesPython36Scripts
C:Program FilesPython36python36.exe
C:Program FilesPython39Scripts
C:Program FilesProgram39python39.exe
保存并退出环境变量。
打开一个新的命令提示符终端窗口。要运行一个或另一个版本的 python,请输入:
python36
python39
只需重复上述操作,即可轻松添加更多版本的 Python。简洁优雅。完成。
解决方案 15:
这是一个解决方案:
首先,安装您想要在电脑上运行的所有版本。https ://www.python.org/
其次,创建要使用的 Python 版本的虚拟环境。“py [python_version] -m venv [vritual_environment_name]”示例:“py -3.9 -m venv env”
注意:你不需要运行“pip install virtualenv”
解决方案 16:
我有多个版本3.11.3
和,您可以通过 powershell 或 cmd 等运行不同版本,只需输入或等3.10.11
即可。请确保不要使用或,因为它不起作用。在我看来,这可能是解决您问题最简单的方法。python3.10
`python3.11python310
python311`
解决方案 17:
使用批处理文件进行切换,在 Windows 7 上简单高效。我用的是这个:
在环境变量对话框(C:\Windows\System32\SystemPropertiesAdvanced.exe)中,
在用户变量部分
将 %pathpython% 添加到路径环境变量
删除了对 python pathes 的所有引用
在系统变量部分
删除了对 python pathes 的所有引用
我为每个 python 安装创建了批处理文件(例如 3.4 x64
名称 = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) 只是为了记住。
文件内容 =
Set PathPython=C:Python36AMD64Scripts;C:Python36AMD64;C:Tclin
setx PathPython %PathPython%
为了在版本之间切换,我在管理员模式下执行批处理文件。
!!!!! 这些更改对于随后打开的命令提示符窗口有效。!!!
所以我对此有精确的控制。
解决方案 18:
假设我们安装了 python 3.7 和 python 3.6。
它们分别默认存储在以下文件夹中。
C:\用户\名称\应用程序数据\本地\程序\Python\Python36 C:\用户\名称\应用程序数据\本地\程序\Python\Python37
如果我们想使用 cmd 提示符在上述任何特定环境中安装/运行命令,请执行以下操作:
上述每个文件夹中都应该有 python.exe。
因此,当我们尝试运行任何文件时(见图 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 文件名更改为其他名称。这样,每次我仅使用时,它都会使用 python3.7python hello.py
解决方案 19:
2023年
假设以前的 Python 是 3.7,它在环境变量中设置了以下路径
C:Program FilesPython37Scripts\n
C:Program FilesPython37\n
现在假设你安装 3.10.*它在环境变量中设置了以下路径
C:Program FilesPython310Scripts\n
C:Program FilesPython310\n
这意味着,当您在 CMD 中输入python之类的命令时,它会添加到 Windows 将查找的路径中,并从第一个匹配的路径中进行选择
如果你输入python,它将返回 python 作为它看到的第一个可执行路径
解决方案
因此,要调用你选择的任何 python,请将路径中的python 可执行文件C:Program FilesPython310
重命名为python310,然后从CMD以python310 的形式调用即可使用
python3.10
即如果你在 CMD 中调用普通的Python,它将返回未重命名的另一个版本,在我的情况下是3.7
对于 Pip
只需拨打
pip3.10
pip3.7
解决方案 20:
您可以从 Anaconda Navigator 以图形方式创建不同的 Python 开发环境。我在使用不同的 Python 版本时遇到了同样的问题,因此我使用 Anaconda Navigator 创建了不同的 Python 开发环境,并在每个环境中使用了不同的 Python 版本。
这是此内容的帮助文档。
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
解决方案 21:
根据@Aman的回答,引入更多细节,针对不同的python版本定义不同的环境变量,例如:
您有
E:python2python.exe
并且E:python3python.exe
同时。然后,您可以
%python2%
为E:python2python.exe
和设置环境变量%python2%
。E:python3python.exe
最后,当你想要运行python2(或python3)的时候,你可以在命令提示符中直接输入
%python2%
(或%python3%
)。
解决方案 22:
适用于Windows 10的最简单的解决方案:
打开Terminal
> cd Users/usernameAppDataLocalProgramsPython
> copy python36python.exe python36python36.exe
> copy python39python.exe python39python39.exe
现在,python36
在终端中运行将启动 python3.6 版本,并将python39
启动 python 3.9 版本
解决方案 23:
使用快速环境编辑器 ,您可以将所需 Python 安装的目录推送到顶部。例如,要从 c:\Python27 目录启动 Python,请确保 c:\Python27 目录位于 Path 环境变量中的 c:\Python36 目录之前或之上。根据我的经验,在 Path 环境中找到的第一个 Python 可执行文件正在执行。例如,我已将 MSYS2 与 Python27 一起安装,由于我已将 C:\MSYS2 添加到 C:\Python36 之前的路径中,因此正在执行 C:\MSYS2.... 文件夹中的 python.exe。
解决方案 24:
我认为这个答案可能对拥有多个版本的 python 并想使用 pipenv 创建虚拟环境的人有帮助。
导航到项目目录,然后运行
py -[python version] pip install pipenv
,例如:py -3.6 pip install pipenv
运行
pipenv --python [version]
以在您想要的 Python 版本中创建虚拟环境。例如:pipenv --python 3.6
运行
pipenv shell
以激活您的虚拟环境。
解决方案 25:
只需调用正确的可执行文件