我不喜欢其他post。 因为它涉及重命名python可执行文件。
答案 0 :(得分:1)
我认为支持各种版本的Python以及其他语言的最简单方法是asdf版本管理器。它允许您在全局以及每个项目文件夹中设置Python的版本。这意味着您可以根据您正在使用的文件夹将Python版本设置为动态更改。
我已经使用Windows近20年了,但我听说Windows 10是基于Ubuntu的Linux子系统。我不知道asdf是否可以使用它,但值得一试。只需使用说明设置asdf up with bash。
答案 1 :(得分:0)
这是我的发现。
步骤1.转到System Properties。点击Environment Variables
步骤2.添加新变量,例如PYTHON_27_HOME
PYTHON_27_HOME
:%ProgramFiles%\Python27\
PYTHON_36_HOME
:%ProgramFiles%\Python36\
PYTHON_HOME
:%PYTHON_27_HOME%
就我而言,PYTHON_27_HOME
(Python 2.7)指向C:\Program Files\Python27\
。您可以使用自己的python
路径替换它。 %PYTHON_HOME%
的默认值指向%PYTHON_27_HOME%
,这是Python 2.7的路径。这是我的偏好,随意调整。请注意,有32位和64位python。 请使用%PROGRAMFILES%
获取C:\Program Files
和%PROGRAMFILES(X86)%
的路径,以获取C:\Program Files (x86)
的路径。
步骤3.选择PATH
,然后点击Edit
。 PATH
步骤4.点击New
并添加%PYTHON_HOME%。每次启动命令提示符时,%PYTHON_HOME%
都会自动添加到PATH
。
为了在cmd中切换不同版本的python,这就是诀窍。
步骤5.我使用
创建了一个批处理文件@echo off
:: Switch Python version
DOSKEY python27=SET PATH=%PYTHON_27_HOME%;%PATH%
DOSKEY python36=SET PATH=%PYTHON_36_HOME%;%PATH%
基本上,它会禁用echo并创建两个别名。在批处理文件中,::
之后的任何字符串都是注释。每次调用python27
或python36
时,它都会使用新的Python路径重新导出%PATH%。将其另存为profile.bat
。您可以随意命名。
第6步。
搜索regedit
(注册表编辑器)。点击Edit
> New
> String Value
。将AutoRun
作为Value name
,将%USERPROFILE%\profile.bat
作为Value data
。在这里,请将您的实际路径值设置为我们刚刚创建的profile.bat
。因此,每当打开命令提示符时,它会自动加载profile.bat
,这会在脚本中创建这两个别名。
步骤7.关闭您正在使用的任何命令提示符,或者只是打开一个新的命令提示符。这是因为您的更改不会影响打开的cmd窗口。环境变化只发生在新的CMD上。
步骤8.验证结果here。
如果你使用不同的Java版本,同样的技巧也适用。找到我的javac
环境设置here。
答案 2 :(得分:0)
TL;DR:使用指向您当前版本的符号链接并将其放在您的路径上。
Linux 有替代命令可以全局切换版本,但我这样做:
C:\Python\Python38
、C:\Python\Python36
等下安装 Python 变体C:\Python\Current;C:\Python\Current\Scripts
@echo off
echo 1. Python 3.8
echo 2. Python 3.6
set /p ver="Enter Version: "
if [%ver%]==[1] (
SET FOLDER=C:\Python\Python38
) ELSE if [%ver%]==[2] (
SET FOLDER=C:\Python\Python36
) ELSE (
GOTO end
)
if exist C:\Python\Current\nul (
rmdir C:\Python\Current
)
MKLINK /D C:\Python\Current %FOLDER%
:end
唯一的缺点是 MKLINK(以及批处理文件)需要提升权限