如何在 Windows 上为 python3 添加别名?

如何在 Windows 上为 python3 添加别名?

我想在 Windows 上设置别名python3python我已经按照说明删除了 Microsoft Store 的别名这个答案。但是python3仍然不是已知别名。我该如何修复这个问题?

答案1

我想在 Windows 上python3使用别名python

你还没有提到你正在使用哪个版本的 Python(例如“vanilla”Python、Anaconda、SciPy 等),但如果我没理解错的话,这可能不是必需的。对于 Windows 版本的 Python(即不是 WSL),python3通常不是标准别名。也就是说,Python 3.x 可执行文件通常只是pythonpython.exe)。

请注意,python.exe如果您只想以 的形式访问它,则它应该位于 Windows Path 中列出的文件夹中python。您可以找到有关编辑 Windows Path 变量的复习这里

如果您的意思是相反的(即您想要使用 运行 Python 3.x python3),那么至少有几种可能的方法(下面的每一项都是一个单独的选项):

  1. python3.exe使用以下命令创建指向您首选的 Python 3.x 副本的符号链接:链接

    mklink "C:\path\to\symlink\python3.exe" "C:\path\to\Python3\python.exe"
    
  2. python.exe在您首选的 Python 3.x 安装中复制文件并重命名复制的可执行文件python3.exe

  3. 如果你不打算专门使用python3并且有适用于 Windows 的 Python 启动器py.exe)安装了来自“vanilla”Pythonpython.org, 您可以使用:

    # Use the "default" installation of Python 3.x, 
    # as detected by the Python Launcher for Windows.
    
    py 3
    

    或者:

    # Use a specific version of Python 3.x if you have more
    # than one version installed, outside of a virtual environment.
    
    py 3.8
    
  4. python3.bat创建一个名为以下信息的Windows 批处理文件:

    例如 python3.bat

    C:\path\to\Python3\python.exe %*
    
  5. 您还可以py.exe以类似的方式为 Windows 的 Python Launcher ()调用设置别名python3.bat,例如:

    例如 python3.bat

    py 3 %*
    

    或者:

    例如 python3.bat

    py 3.8 %*
    

使用上述所有选项,您希望从命令行访问的任何“python3”文件(即任何符号链接、重命名的可执行副本或py.exepython3.bat都必须位于 Windows 路径中的文件夹中。

笔记

  • 这些选项显然不包括python.exe命令行上的任何“别名”选项(例如通过任务列表宏,如评论中所述,或者可能是通过特定于给定终端的实际别名命令)。 它还忽略了某些 Python 发行版(理论上)可能已经带有别名的可能性python3

  • 在 Windows 上创建符号链接mklink可能需要早于 Windows 10 某些早期版本的 Windows 版本的管理权限。

  • 创建符号链接时,请务必包含文件扩展名 ( .exe)。如果您希望链接正常工作,则必须这样做。

  • 最好将任何重命名的可执行副本(选项 2)留在与原始文件相同的文件夹中python.exe

答案2

如果您使用的是 Windows PowerShell 而不是命令提示符,则可以使用以下代码:

Set-Alias -Name python3 -Value python

或者使用以下代码:

Set-Alias -Name python3 -Value "C:\Python39\python.exe"

请注意,这是当前会话的临时别名,要使其成为永久别名,您必须将上述命令复制到一个空文本文件中并将其命名为 Profile.ps1 文件,然后将其复制到以下文件夹之一:

如果你使用的是 PowerShell 7:

{My Documents Folder}/PowerShell

如果您使用 Windows 10 中默认自带的 Windows PowerShell:

{My Documents Folder}/WindowsPowerShell

或者在 PowerShell 的安装文件夹中,可以通过以下方式找到:

cd $PSHOME\

答案3

如果您的 python 3.x 已经在您的 PATH 中,并且您已经从您的机器(和 PATH)中删除了所有以前的 python3 版本,那么您只需运行:

mklink "C:\path\to\Python3\python3.exe" "C:\path\to\Python3\python.exe"

如果您正在运行多个版本的 python3,则可以将符号链接设置为您想要的任何内容:

mklink "C:\path\to\Python3\pythonXYZ.exe" "C:\path\to\Python3\python.exe"

重新启动 cmd 提示符或python3 --versionpythonXYZ --version打印您的链接版本

答案4

对于使用 powershell 到这里的人来说,这是创建符号链接的另一种方法。

警告:Requires Admin rights or group policy that allows this on normal mortal users

  • 打开能够创建管理/链接的 powershell 终端
  • 跑步
$venv=((get-command python).source | Get-ItemProperty).DirectoryName;New-Item -Path $venv -Name "python3.exe" -Value "$venv\python.exe" -ItemType SymbolicLink

如果您没有虚拟环境,请先运行以下命令:

.\.venv\Scripts\Activate.ps1

相关内容