在Windows 10 cmd中切换不同的Python版本

我不喜欢另一个post 。 因为它涉及重命名python可执行文件。

我认为支持各种版本的Python以及其他语言的最简单方法是asdf版本管理器。 它允许您在全局和每个项目文件夹中设置一个Python版本。 这意味着您可以根据您所在的文件夹来设置您的Python版本以动态更改。

asdf版本经理

我近20年来一直没有使用Windows,但是我听说Windows 10为Linux提供了一个基于Ubuntu的子系统。 我不知道asdf是否可以用,但值得一试。 只需使用说明设置asdf与bash。

这是我的发现。

步骤1.转到系统属性 。 点击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 。 路径

第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% 

基本上,它禁用回声并创建两个别名。 在批处理文件中, ::之后的任何字符串都是注释。 每次调用python36python36时,都会用新的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步。 在这里验证你的结果。

如果您使用的是不同的Java版本,则同样的技巧也适用。 在这里找到我的javac环境设置。